ランキングを取得するためのMySQLソートの例コード

ランキングを取得するためのMySQLソートの例コード

コードは次のようになります。

SELECT @i:=@i+1 行番号、
if(@total=t.s_score,@rank,@rank:=@i) ランク、@total:=t.s_score、
t.*
から(
学生 t1 から t1.*、t2.s_score を選択し、t1.s_id=t2.s_id かつ t2.c_id="01" で score t2 を LEFT JOIN し、t2.s_score desc で ORDER BY します。
)t、(@i:=0、@rank:=0、@total:=null を選択) s ;
SELECT @i:=@i+1 行番号、
if(@total=t.s_score,@rank,@rank:=@rank+1) ランク、@total:=t.s_score、
t.*
から(
学生 t1 から t1.*、t2.s_score を選択し、t1.s_id=t2.s_id かつ t2.c_id="01" で score t2 を LEFT JOIN し、t2.s_score desc で ORDER BY します。
)t、(@i:=0、@rank:=0、@total:=null を選択) s ;

成績がソートされた後、Mysqlがランキングを取得します

実際には、mysqlソート後の行番号を出力します

RT: すべてのユーザーのスコアの中で特定のユーザーのスコアの順位を取得します

それは 2 つのステップに分けられます:

1. すべてのユーザーとそのパフォーマンスランキングを見つける

id、maxScore、(@rowNum:=@rowNum+1) を rowNo として選択します 
t_userより、 
(選択 (@rowNum :=0) ) b 
t_user.maxScore の降順で並べ替え

2. すべてのユーザーのスコアの中でのユーザーの順位を調べる

(からu.rowNoを選択 
id、(@rowNum:=@rowNum+1) を rowNo として選択します 
t_userより、 
(選択 (@rowNum :=0) ) b 
t_user.maxScore desc ) u で並べ替え、u.id="2015091810371700001" の場合;

要約する

上記は編集者が紹介したMysqlのソートとランキング取得です。皆様のお役に立てれば幸いです。ご質問があればメッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MYSQL は、指定されたユーザーのランキングとクエリを実装します。ランキング関数 (並列ランキング関数) のサンプルコード
  • MySQL ページアクセス統計とランキング
  • MySQL でカスタム フィールド クエリ結果にランキングを追加する方法
  • MySQL のグループ化により、group by と order by の調査で各グループの最初の数件のレコードを取得します (ランキング)
  • MySQL における一般的なランキングの問題をいくつかまとめます

<<:  Webstorm と Chrome を使用して Vue プロジェクトをデバッグする方法

>>:  Linux システムによって報告される xfs_vm_releasepage 警告問題に対処する方法

推薦する

Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明

1. マックヴラン前回のブログ投稿で紹介した Docker コンテナのホスト間通信を実現するための ...

Pythonの関数知識についての簡単な説明

目次関数パラメータの2つの主要なカテゴリ位置パラメータ可変長パラメータ名前空間要約する関数パラメータ...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...

CSS3 フレックスボックス自動記入の書き方を詳しく解説

この記事では、主に CSS3 フレックス エラスティック ボックスの自動塗りつぶしの書き方について詳...

MySQL における「:=」と「=」の違いの簡単な分析

=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の場合は等号の効果があ...

HTMLでカスタムタグを使用する方法

カスタム タグは XML ファイルと HTML ファイルで自由に使用できますが、いくつか注意すべき点...

ウェブサイトのパフォーマンスを向上させるためのウェブサーバーの改善

<br />このシリーズの最初のセクションでは、Web サイトのパフォーマンスを向上させ...

axiosのシンプルなカプセル化と使用例コード

序文最近、プロジェクトを構築しているときに、リクエストのカプセル化について考え、どのようにカプセル化...

複数の .sql ファイルを MySQL に効率的にインポートする方法の詳細な説明

MySQL には、複数の .sql ファイル (SQL ステートメントを含む) をインポートする方法...

jsを使用してカルーセル効果を実現する

今日は、参考までに、jsを使用してカルーセルマップの効果を実現する方法についてお話ししましょう。具体...

2018 年にリリースされる Apache Spark 2.4 の新機能は何ですか?

この記事は、2018 年 9 月 19 日に Adob​​e Systems Inc で開催された ...

Linux lseek関数の使い方の詳しい説明

注:記事に誤りがある場合は、メッセージを残して指摘してください。ご協力ありがとうございます。名前名前...

Linux で複数の mysql5.7.19 (tar.gz) ファイルをインストールする方法

LinuxでのMySQL-5.7.19バージョンの初心者向けの最初のインストールについては、前の記事...

グリッドはページのレイアウトプランです

<br /> 英語原文: http://desktoppub.about.com/od/...

Webpack プロジェクトでローダー プラグインをデバッグする方法

最近、webpackの使い方を学んでいたときに、webpack-replace-loaderの設定正...