ホームページ >データベース >mysql チュートリアル >mysqlでランキングを達成する方法
mysql でランキングを達成する方法: デモ関数を使用します。構文は [SELECT banji,avg(score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC] です。
mysql でランキングを達成する方法:
デモで実装可能
注意してくださいその中の A までは、ネストされたクエリであるため、ランキングは正確になります。
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
サブクエリが存在せず、以下のSQLを使用した場合、ソートが正しく行われません。何が問題になるかは、GROUP BY に複数のグループ化があるかどうかによって異なります。
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
理由: @rank ランキングは GROUP BY よりも前に発生します。 GROUP BY は、ランク付けされた結果をグループ化します。グループ化された結果をランク付けする場合は、サブクエリを使用します。
#その他の関連する無料学習の推奨事項: mysql チュートリアル(ビデオ)
以上がmysqlでランキングを達成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。