Implementierungsprozess von row_number in MySQL

Implementierungsprozess von row_number in MySQL

1. Hintergrund

Im Allgemeinen können wir in einer Data Warehouse-Umgebung problemlos die Funktion row_number verwenden, um Daten entsprechend einer bestimmten Dimension zu gruppieren und so den Effekt der Sortierung der Datennummern in jeder Gruppe zu erzielen. Wie in der folgenden Abbildung dargestellt, ist dies das in der MySQL-Umgebung generierte Effektdiagramm. Die Gruppierung hier basiert auf lcid, und num entspricht dem durch die Funktion row_number erzielten Effekt:

Implementieren des row_number-Effekts in der MySQL-Umgebung

2. Implementierungsprozess

1. MySQL-Variablen festlegen

Zwei Variablen einrichten

set @row_number:=0; --Generieren Sie die Zeilennummer-Sequenznummer gemäß dem Beurteilungsergebnis von lcid_no set @lcid_no:= 0; --Wird verwendet, um die lcid-Spaltendaten jeder Zeile abzurufen und sie dann mit den lcid-Daten der vorherigen Zeile zu vergleichen. Wenn sie gleich sind, wird es um 1 erhöht, andernfalls ist es 1

2. Anwendungsfall, wenn

Wählen Sie @Zeilennummer: = CASE
    WENN @lcid_no = s.lcid DANN @row_number + 1 
    SONST 1
    END AS Zahl,
    @lcid_no:=s.lcid ALS lcid,
	  s.lcid
VON r_qcloud_approval_fh_d s,(wählen Sie @orw_number:=0,@lcid_no:=0) t
BESTELLEN NACH s.lcid;

3. Prozessanalyse <br /> Wenn mehrere identische Daten vorliegen
1) Unter den Anfangsbedingungen zeigt der Cursor auf die ersten Daten. Zu diesem Zeitpunkt ist lcid_no = 0, lcid_no ist nicht gleich lcid, also ist row_number = 1
2) Der Cursor zeigt auf die zweiten Daten, lcid_no = lcid der vorherigen Daten, da die lcid der vorherigen Daten = die lcid der aktuellen Zeile ist, also row_number = 2
Keine doppelten Daten
1) Unter den Anfangsbedingungen zeigt der Cursor auf die ersten Daten. Zu diesem Zeitpunkt ist lcid_no = 0, lcid_no ist nicht gleich lcid, also ist row_number = 1

3. Anwendungsszenarien

In einer relationalen Datenbank wie MySQL gibt es keine row_number-Funktion.

Dies ist das Ende dieses Artikels über den Implementierungsprozess von row_number in MySQL. Weitere relevante Inhalte zu row_number in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Verwendung der MySQL-Funktionen row_number() und over()
  • Erklärung zur Verwendung von PostgreSQL ROW_NUMBER() OVER()
  • row_number() und unterschiedliche Verwendung in PostgreSQL
  • Unterschiede bei der Verwendung von Postgresql rank() over, dense_rank() und row_number()
  • Detaillierte Beispiele für die allgemeine Verwendung der Funktion row_number in SQL Server
  • Einführung in die Verwendung der vier wichtigsten SQL-Rankingfunktionen ROW_NUMBER, RANK, DENSE_RANK, NTILE
  • Fallstudie zu den SQL ROW_NUMBER()- und OVER()-Methoden

<<:  Lernen Sie Node.js von Grund auf

>>:  Ausführliche Erläuterung der Standortpriorität von Nginx

Artikel empfehlen

Lösungen für häufige Probleme bei der Verwendung von Elasticsearch

1. Die Verwendung mit Redis führt zu Startkonflik...

Warum brauchen wir Map, wenn wir in JavaScript bereits Object haben?

Inhaltsverzeichnis 1. Behandeln Sie Objekte nicht...

Lösung für Linux, das nicht alle Befehle unterstützt

Was soll ich tun, wenn Linux nicht alle Befehle u...

Einführung in die Installation des Vim-Plugins unter Linux

Inhaltsverzeichnis Installieren Sie den Vim-Plugi...

Navicat-Verbindung MySQL Fehlerbeschreibungsanalyse

Inhaltsverzeichnis Umfeld Version der virtuellen ...

Natives JS zum Erzielen digitaler Tisch-Spezialeffekte

Dieser Artikel beschreibt einen Digitaluhreffekt,...

Detaillierte Erklärung zweier zu beachtender Punkte bei vue3: Setup

Inhaltsverzeichnis In vue2 In vue3 Hinweise zur E...

Detaillierte Erklärung verschiedener HTTP-Rückgabestatuscodes

Wenn an Ihren Server eine Anforderung zum Anzeige...

Beispiel für das Herunterladen von Dateien mit vue+django

Inhaltsverzeichnis 1. Übersicht 2. Django-Projekt...

Beispiel für das Hinzufügen von Attributen mithilfe von Stilen in HTML

Fügen Sie den erforderlichen Links Inline-Stile hi...

Einfache Implementierung von HTML zum Erstellen eines persönlichen Lebenslaufs

Lebenslauf-Code: XML/HTML-CodeInhalt in die Zwisc...