Heim >Datenbank >MySQL-Tutorial >So erreichen Sie ein Ranking in MySQL
So erreichen Sie ein Ranking in MySQL: Verwenden Sie die Demo-Funktion. Die Syntax lautet [SELECT banji,avg(score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC].
So erreichen Sie ein Ranking in MySQL:
kann mit Demo implementiert werden
Beachten Sie, dass das A darin eine verschachtelte Abfrage ist, sodass das Ranking korrekt ist.
FROM ( SELECT A.*,@rank:=@rank+1 as pm FROM ( SELECT banji,avg(score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC ) A ,(SELECT @rank:=0) B ) M ORDER BY M.banji
Wenn darin keine Unterabfrage vorhanden ist und das folgende SQL verwendet wird, ist die Sortierung falsch. Was schief geht, hängt davon ab, ob es in GROUP BY mehr als eine Gruppierung gibt.
SELECT banji,avg(score) as AvgS ,@rank:=@rank+1 as pm FROM table_test A,(SELECT @rank:=0) B GROUP BY banji ORDER BY AvgS DESC
Grund: @rank-Ranking erfolgt vor GROUP BY. Mit „GRUPPE NACH“ werden die Ranglistenergebnisse gruppiert. Wenn Sie gruppierte Ergebnisse in eine Rangfolge bringen möchten, verwenden Sie eine Unterabfrage.
Weitere verwandte kostenlose Lernempfehlungen: MySQL-Tutorial(Video)
Das obige ist der detaillierte Inhalt vonSo erreichen Sie ein Ranking in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!