Rang ein bestimmtes Feld in der MySQL-Datentabelle
1. Ursprüngliche Tabellendaten . done_seconds ist die Abschlusszeit, und die Anforderung besteht darin, jedes Datenelement basierend auf diesem Feld zu ordnen.
2. Geben Sie die folgende SQL-Anweisung ein:
SELECT A.*,@rank:=@rank+1 AS pm FROM (SELECT * FROM task_news_user_done_list ORDER BY done_seconds) A, (SELECT @rank:=0) B
3. Nach der Ausführung dieser Anweisung wird das Feld „pm“ zu den Abfrageergebnissen hinzugefügt. Der Wert dieses Feldes ist das Ergebnis der Sortierung basierend auf done_seconds. Beachten Sie das Problem der aufsteigenden und absteigenden Reihenfolge.
4. Neben einzelnen Feldern können auch Durchschnittswerte sortiert werden. Wenn Sie den Durchschnittswert von done_seconds für dieselbe user_email in der obigen Tabelle sortieren möchten, können Sie die folgende SQL-Anweisung verwenden:
SELECT A.*,@rank:=@rank+1 AS pm FROM (SELECT user_email, AVG(done_seconds) AS done_seconds FROM task_news_user_done_list GROUP BY user_email ORDER BY done_seconds) A, (SELECT @rank:=0) B
5. Die Ergebnisse nach dem Sortieren sind wie unten dargestellt. Das Ranking zu diesem Zeitpunkt ist das durchschnittliche Ranking aller erledigten_Sekunden derselben Benutzer-E-Mail.
6 Bei Bedarf beitreten, wo und andere Einschränkungen. Wie unten gezeigt.
Klicken Sie auf „Gefällt mir“, wenn Sie es nützlich finden.
Das obige ist der detaillierte Inhalt vonEine detaillierte Einführung in Ranking-Funktionen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!