Heim > Datenbank > MySQL-Tutorial > Wie nummeriere ich Zeilen der Reihe nach nach Gruppen in SQL?

Wie nummeriere ich Zeilen der Reihe nach nach Gruppen in SQL?

Susan Sarandon
Freigeben: 2024-12-23 14:23:14
Original
709 Leute haben es durchsucht

How to Number Rows Sequentially by Group in SQL?

Sequenzielle Nummerierung von Zeilen nach Gruppenschlüssel in SQL

In SQL können Sie Zeilen innerhalb einer Schlüsselgruppe mithilfe der Funktion ROW_NUMBER() fortlaufend nummerieren . Diese Funktion weist jeder Zeile innerhalb einer Partition eine eindeutige Nummer zu, die durch die PARTITION BY-Klausel definiert wird.

Syntax:

SELECT
    *,
    ROW_NUMBER() OVER (PARTITION BY key_column ORDER BY order_column) - 1 AS row_number
FROM
    table_name
Nach dem Login kopieren

Beispiele:

Beachten Sie die bereitgestellte Tabelle:

CODE NAME
A Apple
A Angel
A Arizona
B Bravo
C Charlie
C Cat
D Dog
D Data
D Down
D Doppler

Um die zu nummerieren Um innerhalb der CODE-Gruppe nacheinander Zeilen zu erstellen, verwenden Sie die folgende Abfrage:

SELECT
    CODE,
    ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 AS C_NO,
    NAME
FROM
    MyTable
Nach dem Login kopieren

Dies führt zum gewünschten Ergebnis:

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

Kompatibilität:

Die Funktion ROW_NUMBER() wird von folgenden Datenbanken unterstützt:

  • SQL Server
  • Oracle
  • Postgres
  • Sybase
  • MySQL 8.0
  • MariaDB 10.2
  • SQLite 3.25

Dies gilt für die am häufigsten verwendeten SQL-Datenbanken.

Das obige ist der detaillierte Inhalt vonWie nummeriere ich Zeilen der Reihe nach nach Gruppen in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage