Heim >Datenbank >MySQL-Tutorial >Wie ordne ich fortlaufende Zeilennummern nach Schlüsselgruppe in SQL zu?
Sequentielle Zeilennummerierung nach Schlüsselgruppe in SQL
In SQL weist die Funktion ROW_NUMBER() Zeilen innerhalb einer Ergebnismenge fortlaufende Nummern zu. Um fortlaufende Nummern nach Schlüsselgruppe zuzuweisen, verwenden Sie die PARTITION BY-Klausel, um die Daten nach dem/den gewünschten Schlüssel(n) zu gruppieren.
Hier ist ein Beispiel für die angegebene Tabelle und die gewünschte Ausgabe:
SELECT CODE, ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 AS C_NO, NAME FROM MyTable;
Ausgabe:
CODE | C_NO | NAME -----|------|------ A | 0 | Apple A | 1 | Angel A | 2 | Arizona B | 0 | Bravo C | 1 | Charlie C | 0 | Cat D | 0 | Dog D | 1 | Data D | 2 | Down D | 3 | Doppler
Diese Abfrage weist fortlaufende Zeilennummern (C_NO) für jede Schlüsselgruppe (CODE) zu, beginnend mit 0, in aufsteigender Reihenfolge von NAME innerhalb jeder Gruppe.
Unterstützte Datenbanken:
Die ROW_NUMBER()-Funktion mit PARTITION BY wird in den folgenden Datenbanken unterstützt:
Das obige ist der detaillierte Inhalt vonWie ordne ich fortlaufende Zeilennummern nach Schlüsselgruppe in SQL zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!