ホームページ >データベース >mysql チュートリアル >mysqlのランキング関数の詳細な紹介

mysqlのランキング関数の詳細な紹介

黄舟
黄舟オリジナル
2017-08-09 15:33:111901ブラウズ

MySQLデータテーブルの特定のフィールドをランク​​付けします


1 元のテーブルデータは以下のとおりです。 Done_seconds は完了時間であり、要件は、このフィールドに基づいて各データをランク付けすることです。

mysqlのランキング関数の詳細な紹介


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

mysqlのランキング関数の詳細な紹介

3. このステートメントを実行すると、クエリに pm フィールドが追加されます。結果。このフィールドの値は、done_seconds に基づいて並べ替えた結果です。昇順と降順の問題に注意してください。

mysqlのランキング関数の詳細な紹介

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

mysqlのランキング関数の詳細な紹介

5 並べ替えられた結果は次のとおりです。このときの順位は、同一user_emailの全done_秒の平均順位となります。

mysqlのランキング関数の詳細な紹介


6. もちろん、必要に応じて場所やその他の制限を追加することもできます。以下に示すように。

役に立ったと思ったら、いいねをクリックしてください。

mysqlのランキング関数の詳細な紹介



以上がmysqlのランキング関数の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。