Tôi có bảng với một cái gì đó dữ liệu như thế này:Kết quả Nhóm SQL dựa trên thứ tự
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
Tôi muốn nhóm mỗi bộ RowNumbers Vì vậy mà kết quả của tôi là một cái gì đó như thế này:
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
Các cách duy nhất tôi biết nơi mỗi nhóm bắt đầu và dừng lại là khi RowNumber bắt đầu lại. Làm thế nào tôi có thể thực hiện điều này? Nó cũng cần phải được khá hiệu quả kể từ khi bảng tôi cần phải làm điều này trên có 52 Triệu Rows.
Thông tin bổ sung
ID là thực sự liên tục, nhưng RowNumber có thể không. Tôi nghĩ RowNumber sẽ luôn bắt đầu bằng 1 nhưng ví dụ RowNumbers cho nhóm1 có thể là "1,1,2,2,3,4" và đối với nhóm2, chúng có thể là "1,2,4,6", v.v.
Nhóm thứ 27 nên nhận được gì (sau 'z')? –
Bạn đang cố gắng tìm gì từ truy vấn? –
@ypercube nó không quan trọng chỉ cần miễn là số duy nhất của nó ... thay vì chữ cái sẽ được sử dụng tốt. – matthew