Zeilennummern für sortierte Daten in MySQL hinzufügen
Beim Arbeiten mit sortierten Daten in MySQL kann das Abrufen der Zeilennummer für jeden Datensatz die bereitgestellten Informationen verbessern und eine detailliertere Analyse erleichtern. In diesem Artikel wird untersucht, wie dies mit reinem SQL erreicht werden kann, und es wird eine Lösung bereitgestellt, die eine Nachbearbeitung in Java oder anderen Programmiersprachen vermeidet.
Datenbanktabellenstruktur
Betrachten Sie die folgende Tabelle mit dem Namen „Bestellungen“ mit den Feldern „orderID“ und „itemID“:
<code class="language-sql">mysql> describe orders; +-------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------------+------+-----+---------+----------------+ | orderID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | itemID | bigint(20) unsigned | NO | | NULL | | +-------------+---------------------+------+-----+---------+----------------+</code>
Ursprüngliche Anfrage
Verwenden Sie zunächst die Abfrage, um die Bestellanzahl für jede Artikel-ID abzurufen:
<code class="language-sql">SELECT itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
Zeilennummer hinzufügen
Um die Zeilennummer hinzuzufügen, können Sie die Abfrage wie folgt ändern:
<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>
Beschreibung
Verbesserte Ergebnisse
Das Ausführen der geänderten Abfrage liefert die folgenden verbesserten Ergebnisse:
<code>+------+--------+------------+ | rank | itemID | ordercount | +------+--------+------------+ | 1 | 388 | 3 | | 2 | 234 | 2 | | 3 | 3432 | 1 | | 4 | 693 | 1 | | 5 | 3459 | 1 | +------+--------+------------+</code>
Wie Sie sehen können, verfügt jede Zeile jetzt über eine zusätzliche „Rang“-Spalte, die ihre Position im sortierten Ergebnissatz angibt.
Das obige ist der detaillierte Inhalt vonWie füge ich Zeilennummern zu sortierten Daten in MySQL hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!