Heim >Datenbank >MySQL-Tutorial >Wie füge ich Zeilennummern zu sortierten SELECT-Ergebnissen in MySQL hinzu?
MySQL: Zeilennummer aus sortierten SELECT-Ergebnissen abrufen
Frage:
Wie erhalte ich die Zeilennummer des sortierten Elements in der SELECT-Anweisung von MySQL?
Hintergrund:
Stellen Sie sich eine Tabelle mit dem Namen „Bestellungen“ vor, die die Spalten „orderID“ und „itemID“ enthält. Die unten gezeigte Abfrage berechnet die Bestellmenge nach „itemID“:
<code class="language-sql">SELECT itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
Diese Abfrage gibt die Anzahl der Elemente zurück, jedoch nicht die Zeilennummer.
Lösung:
Um die Zeilennummer abzurufen, verwenden Sie die folgende Technik:
<code class="language-sql">SET @rank=0;</code>
<code class="language-sql">SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
<code class="language-sql">SELECT @rank;</code>
Beispiel:
Die folgende Abfrage gibt die Zeilennummer und die Elementanzahl zurück:
<code class="language-sql">SET @rank=0; SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC; SELECT @rank;</code>
Ausgabe:
<code>1 | 388 | 3 2 | 234 | 2 3 | 693 | 1 4 | 3432 | 1 5 | 3459 | 1</code>
Die endgültige Zeilenanzahl beträgt 5.
Das obige ist der detaillierte Inhalt vonWie füge ich Zeilennummern zu sortierten SELECT-Ergebnissen in MySQL hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!