ホームページ >データベース >mysql チュートリアル >mysqlのランキング関数の詳細な紹介
MySQLデータテーブルの特定のフィールドをランク付けします
1 元のテーブルデータは以下のとおりです。 Done_seconds は完了時間であり、要件は、このフィールドに基づいて各データをランク付けすることです。
2. 次の SQL ステートメントを入力します。
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. このステートメントを実行すると、クエリに pm フィールドが追加されます。結果。このフィールドの値は、done_seconds に基づいて並べ替えた結果です。昇順と降順の問題に注意してください。
4. 個別のフィールドに加えて、平均値も並べ替えることができます。上の表の同じ user_email の doned_秒の平均値を並べ替える場合は、次の SQL ステートメントを使用できます。
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 並べ替えられた結果は次のとおりです。このときの順位は、同一user_emailの全done_秒の平均順位となります。
6. もちろん、必要に応じて場所やその他の制限を追加することもできます。以下に示すように。
役に立ったと思ったら、いいねをクリックしてください。
以上がmysqlのランキング関数の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。