我有一张桌子,我必须在其中找到每个唯一EMPid和testid的最长日期
以下是输入表和预期输出
我尝试了相关子查询,但是没有用。
用最大日期更新表的任何快速方法。
您可以将common-table-expression和OVER
子句与一起使用PARTITION BY
:
WITH CTE AS
(
SELECT EmpId, [Hall Id], testId, Date, [Max date],
MaxDate = MAX(Date) OVER (PARTITION BY EmpId, testId)
FROM dbo.TableName
)
UPDATE CTE SET [Max date] = MaxDate
如果您想知道会发生什么,请替换UPDATE
为SELECT * FROM
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句