MySQL So erhalten Sie die Reihennummernreihenfolge

In diesen Anweisungen wird beschrieben, wie die Zeilennummer für die Ergebnismenge angezeigt werden kann, die durch die Ausführung einer SQL-Abfrage erhalten wird. Ein Beispiel mit ausführlicher Erläuterung wird bereitgestellt.

Gehen wir ein Beispiel durch.

Zuerst erstellen wir eine Mitarbeiter-Tabelle in unserer Datenbank.

Abfrage 1.1

mysql> tabellenmitarbeiter erstellen (id smallint (5),
Name varchar (15), Gehalt smallint (5));

Als nächstes fügen Sie Datensätze in die Employee-Tabelle ein.

Abfrage 1.2

mysql> In Mitarbeiterwerte einfügen (1, 'jon', 1000);
mysql> In Mitarbeiterwerte einfügen (2, 'darvin', 3500);
mysql> In Mitarbeiterwerte einfügen (3, 'krik', 500);
mysql> In Mitarbeiterwerte einfügen (4, 'rook', 1500);
mysql> In Mitarbeiterwerte einfügen (5, 'alex', 100);

Zeigen Sie jetzt alle Datensätze aus der Employee-Tabelle an.

Abfrage 1.3

mysql> wähle * vom Mitarbeiter aus; + ------ + -------- + -------- + | id | name | Gehalt | + ------ + -------- + -------- + | 1 | jon | 1000 | | 2 | Darvin | 3500 | | 3 | krik | 500 | | 4 | Turm | 1500 | | 5 | alex | 100 | + ------ + -------- + -------- + 5 Reihen im Satz (0,00 s)

Lassen Sie uns nun alle Datensätze aus der Tabelle der Mitarbeiter nach Gehalt sortiert abrufen.

Abfrage 1.4

mysql> wähle * aus der Mitarbeiterbestellung nach Gehalt; + ------ + -------- + -------- + | id | name | Gehalt | + ------ + -------- + -------- + | 5 | alex | 100 | | 3 | krik | 500 | | 1 | jon | 1000 | | 4 | Turm | 1500 | | 2 | Darvin | 3500 | + ------ + -------- + -------- + 5 Reihen im Satz (0,00 s) 

Jetzt möchten wir wirklich eine zusätzliche Spalte haben, die von 1 (erste Reihe) bis zur letzten Reihe läuft. Auf diese Weise können wir die Zeilenreihenfolge in der Tabelle anzeigen. Hier ist die Frage.

mysql> set @row_num = 0;
SELECT @row_num: = @row_num + 1 als Zeilennummer, ID, Name, Gehalt FROM Mitarbeiter
ORDER BY Gehalt;

+ ------------ + ------ + -------- + -------- + | Zeilennummer | id | name | Gehalt | + ------------ + ------ + -------- + -------- + | 1 | 5 | alex | 100 | | 2 | 3 | krik | 500 | | 3 | 1 | jon | 1000 | | 4 | 4 | Turm | 1500 | | 5 | 2 | Darvin | 3500 | + ------------ + ------ + -------- + -------- + 5 Reihen in Satz (0,00 s) 

Nun sehen Sie die zusätzliche Spalte (Zeilennummer) was zeigt die Reihenreihenfolge. Dies ist sehr nützlich beim Anzeigen der Datensätze.

Sehen wir uns etwas genauer an, wie die obige Abfrage 1.4 funktioniert, um die Reihennummernreihenfolge zu erhalten.

set @row_num = 0;

Dies verwendet @ row_num als benutzerdefinierte Variable zur Aufnahme der Zeilenanzahl und mit einem Wert belegt 0.

SELECT @row_num: = @row_num + 1 als Zeilennummer

Hier erhöhen wir die Variable @ row_num um 1, jedes Mal wenn Ich würde Die Spalte ändert sich und wir behalten den Wert, den sie in der vorherigen Zeile hatten. Dadurch wird die Variable weiter inkrementiert @ row_num bis es die letzte Reihe erreicht Ich würde Spalte mit 'Zeilennummer' für Spaltenalias.