SQL verwendet die Funktion ROW_NUMBER() OVER, um eine Sequenznummer zu generieren

SQL verwendet die Funktion ROW_NUMBER() OVER, um eine Sequenznummer zu generieren

Syntax: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
Einfach ausgedrückt beginnt ROW_NUMBER() bei 1 und gibt für jeden gruppierten Datensatz eine Nummer zurück. Dabei sortiert ROW_NUMBER() OVER (ORDER BY CYLH DESC) zuerst die xlh-Spalte in absteigender Reihenfolge und gibt dann nach der absteigenden Reihenfolge eine Seriennummer für jeden CYLH-Datensatz zurück.

Beispiel:

Analyse: ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) PARTITION BY COL1 ORDER BY COL2 ) bedeutet Gruppierung nach COL1 und Sortierung nach COL2 innerhalb der Gruppe. Der von dieser Funktion berechnete Wert stellt die Sequenznummer nach der Sortierung innerhalb jeder Gruppe dar (kontinuierlich und eindeutig innerhalb der Gruppe).

Kann auch so verwendet werden: ROW_NUMBER() OVER (ORDER BY COL2)

例子:

Erstellen einer Testtabelle und Einfügen von Testdaten

 Tabelle erstellen Testzeilennummer 01 (
       CMZH varchar(10) nicht null,
       CYLH varchar(10) null,
       MJE Geld null,
);


INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES (2106000011,20281997,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000010,20281996,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000008,20281995,0.00)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000006,20281994,9.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000004,20281993,5.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000001,20281992,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000002,20281992,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000007,20217280,0.00)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000009,20172458,5.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000005,20121813,0.00)


Führen Sie das Skript aus, um automatisch Zeilennummern zu generieren und nach CYLH zu sortieren (wischen Sie, um den Code anzuzeigen).

Wählen Sie ROW_NUMBER() über (ORDER BY CYLH DESC) als ROWNUM, * von TEST_ROW_NUMBER_01


Die Ergebnisse sind wie folgt:

Hinweis: Bei der Verwendung von Fensterfunktionen wie over werden group by und Sortierung in over später ausgeführt als die Ausführung von „ where , group by, order by “.

Dies ist das Ende dieses Artikels über die Verwendung der SQL ROW_NUMBER() OVER-Funktion zum Generieren von Seriennummern. Weitere Informationen zur Verwendung der SQL ROW_NUMBER() OVER zum Generieren von Seriennummern finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vergleich zweier Methoden zum Parsen von Datenbank-Paging (Vergleich zwischen row_number()over() und top)
  • SQL Server generiert automatisch eine Seriennummer mit einem Datum plus einer Nummer

<<:  Was sind die Attribute des JSscript-Tags

>>:  Einführung und Verwendung von fünf Controllern in K8S

Artikel empfehlen

Implementierung von Nginx-Weiterleitungsübereinstimmungsregeln

1. Regulärer Ausdrucksabgleich ~ für Groß- und Kl...

So verwenden Sie Docker-Compose, um Django-Anwendungen offline bereitzustellen

Inhaltsverzeichnis Installieren Sie Docker-ce für...

Zusammenfassung gängiger Begriffe in CSS (Cascading Style Sheet)

Wenn Sie CSS verwenden, vergessen Sie nicht, DOCTY...

So laden Sie Projekte im Linux-System in die Code Cloud hoch

Erstellen Sie ein neues Projekt test1 auf Code Cl...

Detaillierte Erläuterung der benutzerdefinierten Vue-Anweisungen

Inhaltsverzeichnis Benutzerdefinierte Vue-Direkti...

Vue implementiert die Drag & Drop-Funktion für Bilder

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung gängiger Nginx-Techniken und Beispiele

1. Priorität mehrerer Server Wenn beispielsweise ...

Anwendungsbeispiele für die MySQL-Volltextsuche

Inhaltsverzeichnis 1. Umweltvorbereitung 2. Daten...

Optimierung von JavaScript und CSS zur Verbesserung der Website-Leistung

<br /> Im ersten und zweiten Teil haben wir ...

Detaillierte Erklärung der Mencached-Cache-Konfiguration basierend auf Nginx

Einführung Memcached ist ein verteiltes Caching-S...

Detaillierte Erklärung der Funktion und Verwendung der DOCTYPE-Deklaration

1. Browser-Rendering-Modus und Doctype Einige Web...