Heim >Datenbank >MySQL-Tutorial >Wie erhalte ich den Datensatzindex (Zeilennummer) in einer MySQL-Tabelle?

Wie erhalte ich den Datensatzindex (Zeilennummer) in einer MySQL-Tabelle?

DDD
DDDOriginal
2024-12-16 01:04:09658Durchsuche

How to Get the Record Index (Row Number) in a MySQL Table?

Den Datensatzindex in einer MySQL-Tabelle abrufen

In MySQL enthalten Tabellen häufig eine große Anzahl von Datensätzen. Es kann nützlich sein, eine Spalte zu haben, die den Datensatzindex oder die Zeilenposition für jede Zeile in einer Tabelle enthält. Dies kann für verschiedene Zwecke verwendet werden, z. B. zum Einstufen von Benutzern oder zum Anzeigen der Position eines bestimmten Datensatzes in einer Sequenz.

Lösung

So generieren Sie eine Spalte mit Für den Datensatzindex können Sie eine Kombination aus benutzerdefinierten Variablen und einer Join-Anweisung verwenden. Hier ist ein Beispiel:

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r;

In dieser Abfrage:

  • Die Variable @curRow wird mit der Anweisung (SELECT @curRow := 0) auf 0 initialisiert.
  • Die JOIN-Anweisung stellt sicher, dass die Variable @curRow für jede Zeile in league_girl um 1 erhöht wird Tabelle.
  • Die Spalte „row_number“ enthält den Datensatzindex für jede Zeile in der Tabelle.

Beispielverwendung

Betrachten Sie die folgende Tabelle „league_girl“. :

position username score
1 a 10
2 b 25
3 c 75
4 d 25
5 e 55
6 f 80
7 g 15

Die folgende Abfrage gibt den Datensatzindex, den Benutzernamen und die Punktzahl für alle Zeilen in zurück league_girl-Tabelle mit einer Punktzahl größer als 50:

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r
WHERE   l.score > 50;

Die Ausgabe dieser Abfrage ist:

position username score row_number
3 c 75 1
5 e 55 2
6 f 80 3

Das obige ist der detaillierte Inhalt vonWie erhalte ich den Datensatzindex (Zeilennummer) in einer MySQL-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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