SQL:如何为具有相同值的行分配相同的行号?

mor*_*eby 2 sql t-sql sql-server

我在 SQL Server 中有一个如下表。我使用ROW_NUMBER分区函数达到行号值。但这不是我想要达到的结果。

行号 价值
1 A
2 A
3 A
1
2
1 C
1 D

我想要这张桌子

行号 价值
1 A
1 A
1 A
2
2
3 C
4 D

我该怎么做,你有功能建议吗?

Geo*_*eph 5

使用DENSE_RANK而不是ROW_NUMBER

SELECT DENSE_RANK() OVER (ORDER BY VALUE), VALUE
FROM TABLE
Run Code Online (Sandbox Code Playgroud)