TSQL Rank()与序列

时间:2013-06-27 20:18:25

标签: sql-server-2008 tsql

我有以下tsql语句

Select *,RowNum = Rank() OVER(Order by paging.parentID) from paging

其结果是这样的

ParentID         RowNum
11                  1
11                  1
11                  1
23                  4
23                  4
23                  4

但我想要的是......

ParentID         RowNum
11                  1
11                  1
11                  1
23                  2
23                  2
23                  2

换句话说,对于每个唯一的parentID,我希望rownumber为SAME,每当parentID更改时,我希望RowNum跳转到下一个数字(不要跳过任何#)。

由于

1 个答案:

答案 0 :(得分:3)

使用DENSE_RANK代替RANK

SQL Fiddle with demo