在sql中是否有任何内置函数来实现以下操作

Bas*_*ath 0 sql t-sql sql-server sql-server-2008

table喜欢这个

column1 column2 column3
1   12  1
1   12  2
1   4   3
1   5   4
1   34  5
2   36  6
2   22  7
2   12  8
2   2   9
2   4   10
2   41  11
3   44  12
3   55  13
3   66  14
3   34  15
Run Code Online (Sandbox Code Playgroud)

我需要添加额外的.之后 column该表应该是这样的

column1 column2 column3 column4
1   12  1   1
1   12  2   2
1   4   3   3
1   5   4   4
1   34  5   5
2   36  6   1
2   22  7   2
2   12  8   3
2   2   9   4
2   4   10  5
2   41  11  6
3   44  12  1
3   55  13  2
3   66  14  3
3   34  15  4
Run Code Online (Sandbox Code Playgroud)

应根据column1column4添加值.请帮忙解决问题.

Mah*_*mal 7

是的,有一组内置的排名功能.

这是其中之一,ROW_NUMBER() OVER(PARTITION BY ... ORDER BY ...:

SELECT *,
  ROW_NUMBER() OVER(PARTITION BY Column1 ORDER BY Column1) Column5
FROM table;
Run Code Online (Sandbox Code Playgroud)

SQL小提琴演示