我有这样的数据表:
ID | RowNumber | Data
------------------------------
1 | 1 | Data
2 | 2 | Data
3 | 3 | Data
4 | 1 | Data
5 | 2 | Data
6 | 1 | Data
7 | 2 | Data
8 | 3 | Data
9 | 4 | Data
我想对每组 RowNumbers 进行分组所以我的结果是这样的:
ID | RowNumber | Group | Data
--------------------------------------
1 | 1 | a | Data
2 | 2 | a | Data
3 | 3 | a | Data
4 | 1 | b | Data
5 | 2 | b | Data
6 | 1 | c | Data
7 | 2 | c | Data
8 | 3 | c | Data
9 | 4 | c | Data
我知道每个组开始和停止的唯一方法是 RowNumber 何时重新开始。我怎样才能做到这一点?它还需要相当有效,因为我需要在其上执行此操作的表有 5200 万行。
附加信息
ID 是真正的顺序,但 RowNumber 可能不是。我认为 RowNumber 将始终以 1 开头,但例如 group1 的 RowNumbers 可能是“1,1,2,2,3,4”,而 group2 可能是“1,2,4,6”等。