根据以下记录集,我有三列,需要为每组 PersonIds 返回最大 CaseId 值。
ID PersonId CaseId
66 30 410
1681 30 3508
226 31 958
856 31 2213
1023 31 2400
例如,我想返回一个记录集,例如:
ID PersonId CaseId
1681 30 3508
1023 31 2400
如您所见,我总是返回所有 PersonId 集的最大 CaseId。
我尝试了以下方法,但它并不总是返回最大记录:
WITH latestRecord AS
(
SELECT CaseId, PersonId, ID,
ROW_NUMBER() OVER (PARTITION BY PersonId ORDER BY ID ASC) AS RN
FROM Employee
)
SELECT Max(RN),CaseId, PersonId
FROM latestRecord
GROUP BY RN,CaseId, PersonId
--WHERE RN > 1
ORDER BY CaseId
谢谢你的帮助!