我正在处理 SQL Server 2005 的查询,该查询需要返回带有两个“索引”字段的数据。每次“shade”列更改时,第一个索引“t_index”应该递增,而第二个索引在“shade”列中的值的分区内递增:
t_index s_index shade
1 1 A
1 2 A
1 3 A
1 4 A
1 5 A
2 1 B
2 2 B
2 3 B
2 4 B
2 5 B
为了获取 s_index 列,我使用以下命令:
Select ROW_NUMBER() OVER(PARTITION BY [shade] ORDER BY [shade]) as s_index
我的问题是如何让第一个索引仅在“阴影”列中的值发生变化时增加?
最佳答案
这可以通过DENSE_RANK()
函数来完成:
DENSE_RANK() OVER(Order By [shade]) as t_index
关于sql - 增加组上的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116275/