Heim >Datenbank >MySQL-Tutorial >Wie ordne ich Zeilen in MySQL mit einem einzigen SQL-Befehl fortlaufende Nummern zu?

Wie ordne ich Zeilen in MySQL mit einem einzigen SQL-Befehl fortlaufende Nummern zu?

Linda Hamilton
Linda HamiltonOriginal
2024-12-27 22:52:10849Durchsuche

How to Assign Sequential Numbers to Rows in MySQL Using a Single SQL Command?

Aktualisieren von Spalten mit einer Sequenznummer in MySQL

Die vorliegende Aufgabe erfordert die Aktualisierung eines Satzes von Datensätzen mit Sequenznummern und die Konvertierung eines Datensatzes wie dies:

Name Number
Joe Null
Michael Null
Moses Null

In so etwas:

Name Number
Joe 1
Michael 2
Moses 3

Um etwas zu erreichen Führen Sie dazu in einem einzigen SQL-Befehl für MySQL die folgenden Schritte aus:

Lösung:

SET @rank := 0;
UPDATE T
SET Number = @rank := @rank + 1;

Alternative Lösung:

UPDATE T
JOIN (SELECT @rank := 0) r
SET Number = @rank := @rank + 1;

In beiden Lösungen werden die fortlaufenden Nummern generiert und mithilfe der @rank-Variablen der Spalte „Nummer“ zugewiesen. Diese Technik hilft Ihnen, den Datensätzen in einem einzigen SQL-Vorgang eindeutige und geordnete Werte zuzuweisen, was es zu einer einfachen und effizienten Möglichkeit macht, die fortlaufende Nummerierung in MySQL zu verwalten.

Das obige ist der detaillierte Inhalt vonWie ordne ich Zeilen in MySQL mit einem einzigen SQL-Befehl fortlaufende Nummern zu?. 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