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

Teilen Sie 20 hervorragende Beispiele für Webformular-Design

Sophie Hardach Kai von Clyde Quay 37 Ost Seifenkis...

Implementierung zum Zeichnen einer Audio-Wellenform mit wavesurfer.js

1. Sehen Sie sich die Renderings an Weiterleiten ...

Detaillierte Zusammenfassung des JavaScript-Arrays

Inhaltsverzeichnis 1. Array-Induktion 1. Teilen S...

So aktualisieren Sie die Ansicht synchron nach Datenänderungen in Vue

Vorwort Vor kurzem bin ich auf ein interessantes ...

Detaillierte Schritte zur Installation von Python 3.7 auf CentOS 6.5

1. Python 3 herunterladen wget https://www.python...

Detaillierte Erklärung des wunderbaren CSS-Attributs MASK

Dieser Artikel stellt eine sehr interessante Attr...

js, um einen 3D-Karusselleffekt zu erzielen

In diesem Artikel wird der spezifische Code zur I...

So verwenden Sie dl(dt,dd), ul(li), ol(li) in HTML

HTML <dl> Tag #Definition und Verwendung Da...

Implementierung der Installation und Deinstallation von CUDA und CUDNN in Ubuntu

Inhaltsverzeichnis Vorwort Installieren des Grafi...

JDBC-Idee: MySQL importieren, um Java-JAR-Paket zu verbinden (Mac)

Vorwort 1. Dieser Artikel verwendet MySQL 8.0 Ver...