【问题标题】:SQL Row Count Over Partition BySQL Row Count Over Partition By
【发布时间】:2021-12-15 06:59:17
【问题描述】:

我们知道,over partition by 会增加,直到组发生变化。当组更改时,它会重新开始。怎么能反其道而行之?也就是说,如果组没有改变,数字应该重复如下。

NAME | ROW_COUNT
 A        1
 A        1
 A        1
 B        2
 C        3
 C        3
 D        4
 E        5

【问题讨论】:

标签: sql sql-server tsql window-functions


【解决方案1】:

您的场景是使用dense_rank() ,因为rank() 不维护序列,而只是对列进行排名,row_number() 也维护序列,但如果排名相似,它会再次为其分配一个唯一编号

select name
    , dense_rank() over (partition by name order by name)
from table;

【讨论】:

    猜你喜欢
    • 2019-10-22
    • 1970-01-01
    • 2011-03-07
    • 2021-05-06
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多