Sequentielle Zeilennummerierung mit Schlüsselgruppierung in SQL
SQL bietet eine leistungsstarke Funktion zum sequentiellen Aufzählen von Zeilen innerhalb bestimmter Schlüsselgruppen. Diese Funktionalität erweist sich als besonders nützlich, wenn Sie Daten basierend auf unterschiedlichen Kategorien oder Attributen organisieren müssen. Lassen Sie uns untersuchen, wie diese Funktion in verschiedenen SQL-Dialekten funktioniert.
Implementierung in verschiedenen SQL-Dialekten
Die folgenden SQL-Dialekte bieten eine Lösung für die sequentielle Zeilennummerierung nach Schlüsselgruppen:
Beispieldaten und gewünschte Projektion
Betrachten Sie die folgende Beispieltabelle mit (CODE, NAME)-Tupeln:
CODE NAME ---- ---- A Apple A Angel A Arizona B Bravo C Charlie C Cat D Dog D Doppler D Data D Down
Die gewünschten Eine Projektion mit CODE als Gruppierungsattribut würde wie folgt aussehen:
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
SQL Abfrage zur Durchführung einer sequentiellen Zeilennummerierung
Um diese sequentielle Zeilennummerierung nach Schlüsselgruppe zu erreichen, können Sie die folgende SQL-Abfrage nutzen:
SELECT CODE, ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 As C_NO, NAME FROM MyTable
Diese Abfrage partitioniert die Tabelle basierend auf Ordnen Sie in der CODE-Spalte die Datensätze innerhalb jeder Partition nach der NAME-Spalte und subtrahieren Sie dann 1 von der resultierenden Zeilennummer, um die gewünschte fortlaufende Nummerierung beginnend bei 0 für jeden Schlüssel zu erhalten Gruppe.
Das obige ist der detaillierte Inhalt vonWie implementiert man eine sequentielle Zeilennummerierung mit Schlüsselgruppierung in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!