Hug*_*ugo -3 sql t-sql sql-server row-number
我有下表
ID
12
12
25
25
78
78
78
Run Code Online (Sandbox Code Playgroud)
并且我需要能够在ID更改时递增计数器值.
ID **COUNTER**
12 1
12 1
25 2
25 2
78 3
78 3
78 3
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?它甚至可能吗?
你可以使用dense_rank():
select id,
dense_rank() over(order by id) Counter
from yourtable
Run Code Online (Sandbox Code Playgroud)
结果:
| ID | COUNTER |
----------------
| 12 | 1 |
| 12 | 1 |
| 25 | 2 |
| 25 | 2 |
| 78 | 3 |
| 78 | 3 |
| 78 | 3 |
Run Code Online (Sandbox Code Playgroud)