In MySQL können Sie die SELECT-Anweisung verwenden, um Benutzervariablen zu definieren, um den Abfrageergebnissen Seriennummern hinzuzufügen. Die Syntax lautet „SELECT Feld 1, Feld 2, (@i:=@i+1) AS ‚Seriennummer‘. FROM Tabellenname, (SELECT @ i:=0) AS itable;".
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
Eine gängige Lösung besteht darin, Seriennummern durch Definieren von Benutzervariablen zu generieren
Beispiel: Angenommen, die Datenbank verfügt über eine Schülertabelle
Die Tabelle enthält Felder: Sid, Sname, Geschlecht , Alter
Abfrage: Den Daten in der Tabelle wird eine Seriennummer hinzugefügt, und die entsprechende SQL lautet:
SELECT sid,sname,gender,age,(@i:=@i+1) AS '序号' FROM student,(SELECT @i:=0) AS itable;
oder
SET @i=0; SELECT sid,sname,gender,age,@i:=@i+1 AS '序号' FROM student;
Die Abfrageergebnisse sind wie in der Abbildung dargestellt:
Erklärung:
1, (@i:=@i+1 ) kann auch als @i:=@i+1 geschrieben werden. Die Klammern werden zur besseren Verdeutlichung hinzugefügt.
Was es bedeutet: Addiere 1 zur Variablen i und weise sie der Variablen i zu. Nach dem Definieren einer Variablen wird die Variable bei jeder Abfrage erhöht. Es ist nicht erforderlich, dass diese Variable bei jeder Ausführung der Abfrage erhöht wird Anweisung, um die Ergebnisse zu erhalten.
2. (SELECT @i:=0) Definieren Sie die Benutzervariable i, setzen Sie den Anfangswert auf 0 und verwenden Sie ihn dann als abgeleitete Tabelle. AS definiert den Alias der Tabelle.
3. SETZE @i=0. Definieren Sie die Benutzervariable i und weisen Sie den Anfangswert 0 zu.
Verwandte Wissenspunkte:
1 Die Art und Weise, wie MySQL Benutzervariablen definiert: In der obigen SQL-Anweisung lautet der Name der Variablen i
2. Zuweisung von Benutzervariablen: Eine besteht darin, das Zeichen „=“ direkt zu verwenden, die andere darin, das Zeichen „:=“ zu verwenden. Der Unterschied zwischen
= und :=:
Bei Verwendung des Set-Befehls zum Zuweisen von Werten zu Benutzervariablen können beide Methoden verwendet werden,
das heißt: SET @variable name=xxx oder SET @variable name:= xxx
Verwenden Sie select Wenn Sie Benutzervariablen in einer Anweisung Werte zuweisen, können Sie nur die Methode „:=" verwenden, da in der select-Anweisung das Zeichen „=" als Vergleichsoperator betrachtet wird. Das heißt: SELECT @variable name:=xxx
①: Benutzervariable
②: Abgeleitete Tabelle
③: AS-Einstellungsalias
Bei Verwendung von Oracle lautet die Schreibmethode:
SELECT "sid","sname","gender","age", ROW_NUMBER() over(order by "sid") AS "序号" FROM "user";
Empfohlenes Lernen: MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo fügen Sie einer Abfrage in MySQL eine Seriennummer hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!