Heim  >  Artikel  >  Datenbank  >  So fügen Sie einer Abfrage in MySQL eine Seriennummer hinzu

So fügen Sie einer Abfrage in MySQL eine Seriennummer hinzu

WBOY
WBOYOriginal
2022-03-09 15:33:5125605Durchsuche

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;".

So fügen Sie einer Abfrage in MySQL eine Seriennummer hinzu

Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.

So fügen Sie Seriennummern zu Abfragen in MySQL hinzu

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:

So fügen Sie einer Abfrage in MySQL eine Seriennummer hinzu

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!

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
Vorheriger Artikel:Was ist MySQL-Fehlerinjektion?Nächster Artikel:Was ist MySQL-Fehlerinjektion?