ho tavolo con qualcosa di dati come questo:Risultati Raggruppamento SQL basate su ordine
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
Voglio gruppo ogni set di RowNumbers In modo che il mio risultato è qualcosa di simile:
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
Il solo il modo in cui so dove inizia e si ferma ogni gruppo è quando il RowNumber ricomincia. Come posso realizzare questo? Deve anche essere abbastanza efficiente poiché il tavolo su cui ho bisogno di fare questo ha 52 milioni di righe.
Altre Informazioni
ID è veramente sequenziale, ma RowNumber non può essere. Penso che RowNumber inizierà sempre con 1 ma ad esempio RowNumbers per group1 potrebbe essere "1,1,2,2,3,4" e per group2 potrebbero essere "1,2,4,6", ecc.
Quale nome dovrebbe ricevere il 27 ° gruppo (dopo 'z')? –
Cosa stai cercando di trovare dalla query? –
@ypercube non importa solo se il suo numero univoco ... al posto delle lettere va bene. – matthew