我有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
我需要添加额外 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
根据column1
值column4
值应添加。
请帮助解决问题。
答案 0 :(得分:7)
是的,有一组内置ranking functions。
以下是其中一个,ROW_NUMBER() OVER(PARTITION BY ... ORDER BY ...
:
SELECT *,
ROW_NUMBER() OVER(PARTITION BY Column1 ORDER BY Column1) Column5
FROM table;