按引用和日期拆分的TSQL行号

按引用和日期拆分的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

使用下面带有引用和日期列示例的单个表,如何生成下面的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/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
返回