我有一张桌子,看起来像这样:
id | name| fk_something
----------------
0 | 25 | 3
1 | 25 | 2
2 | 23 | 1
Run Code Online (Sandbox Code Playgroud)
并且我想添加另一列,该列的编号在每次name出现行时都会递增,例如:
id | name| fk_something| n
--------------------------
0 | 25 | 3 | 1
1 | 25 | 2 | 2
2 | 23 | 1 | 1
Run Code Online (Sandbox Code Playgroud)
我不太确定如何实现这一目标。使用count()I只会得到的总发生次数,name但我想增加,n以便每行都有一个不同的值。
您要row_number():
select t.*, row_number() over (partition by name order by id) as n
from table t;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |