id由于您真的想要除 max per之外的整行(或至少行本身的其他字段) ,因此您可以使用像ROW_NUMBER()这样job_id的窗口函数来完成此操作,如下所示:
-- only latest row per job_id
SELECT id AS max_id, job_id, job_status_id --, updated_by, date_added, last_updated
FROM
(
SELECT id, job_id, job_status_id, updated_by, date_added, last_updated,
ROW_NUMBER() OVER (PARTITION BY job_id ORDER BY id DESC) AS GroupSortId
FROM job_status_update
) Results
WHERE GroupSortId = 1 -- returns only the latest row per grouping of job_id
这会将所有重复job_id的 s 分组并仅返回每个分组的最大行,从而产生不同的结果集job_ids、它们的相关max_id和正确的相关job_status_id。如果您还想要其他字段,请删除外部查询SELECT列表中的注释。
id
由于您真的想要除 max per之外的整行(或至少行本身的其他字段) ,因此您可以使用像ROW_NUMBER()这样job_id
的窗口函数来完成此操作,如下所示:这会将所有重复
job_id
的 s 分组并仅返回每个分组的最大行,从而产生不同的结果集job_id
s、它们的相关max_id
和正确的相关job_status_id
。如果您还想要其他字段,请删除外部查询SELECT
列表中的注释。请参阅此 dbfiddle以获取工作示例。