MSSQL中每个ID的不同序列号



我有一个表,其中有两个id桌子就像

ID    Date                       Shift(hr)   serial no 
54     11/10/2020                 2           1
54     10/10/2020                 5           2 
53     11/10/2020                 4           3
53     10/10/2020                 5           4

我希望输出如下桌子就像

ID    Date                       Shift(hr)   serial no 
54     11/10/2020                 2           1
54     10/10/2020                 5           2 
54     09/10/2020                 6           3
53     11/10/2020                 4           1
53     10/10/2020                 5           2

类似于基于日期的序列号应该来自每个ID编号应该从最新日期开始请提出一些建议,谢谢

您可以尝试使用row_number()

select id, date, Shift, 
row_number() over(partition by id order by date desc) as serial_no
from tablename

最新更新