按引用和日期拆分的TSQL行号
使用下面带有引用和日期列示例的单个表,如何生成下面的out以拆分行号。同一天的同一引用应显示为同一行号 下面的例子按引用和日期拆分的TSQL行号,tsql,row,Tsql,Row,使用下面带有引用和日期列示例的单个表,如何生成下面的out以拆分行号。同一天的同一引用应显示为同一行号 下面的例子 MAINFRAJOB SyncDate Row Number 7861 02/10/2019 1 7861 02/10/2019 1 7861 03/10/2019 2 1045679 25/09/2019 1 10233649 03/10/2019 1 10233652 04/10/2019 1 10233652 04/10
MAINFRAJOB SyncDate Row Number
7861 02/10/2019 1
7861 02/10/2019 1
7861 03/10/2019 2
1045679 25/09/2019 1
10233649 03/10/2019 1
10233652 04/10/2019 1
10233652 04/10/2019 1
10233652 06/10/2019 2
123456789 02/10/2019 1
123456789 02/10/2019 1
123456789 03/10/2019 2
123456789 04/10/2019 3
我尝试过这个方法,但没有产生正确的结果
ROW_NUMBER()over(partition by cast(ard.SyncDate as date), ard.actionref order by cast(ard.SyncDate as date) desc) AS 'RowNo'
感谢您的指导。请尝试密集排列,您还需要从分区中删除日期,否则每次日期更改都会重置为1:
DENSE_RANK()over(partition by cast(ard.SyncDate as date), ard.actionref order by cast(ard.SyncDate as date) desc) AS 'RowNo'
我认为您确实在寻找BarneyL提到的
densite_Rank()
,但您也希望通过MAINFRAJOB进行分区
示例
Select *
,Row_Number = DENSE_RANK() over (Partition By [MAINFRAJOB] Order by [SyncDate])
From YourTable
返回