ランキングを取得するための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-compose を使用して GitLab をデプロイする方法

Docker-compose は GitLab をデプロイします1. Dockerをインストールする...

WeChatアプレットが計算機機能を実装

WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...

LinuxシステムでのSystemC環境設定方法

以下はcentos7での設定方法ですsystemc ソース パッケージをダウンロード: System...

ネストされた HTML ページの使用例 (フレームセットの使用)

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

Dockerコンテナを終了した後も実行を継続する方法

現象:イメージを実行します (例: ubuntu14.04)。 docker run -it --r...

Alpine イメージに Ansible サービスを追加する方法

apk add ansible を使用して、alpine イメージに ansible サービスを追加...

Linux システム構成 (サービス制御) の詳細な紹介

目次序文1. システムサービス制御1. システムctl 2. ターゲット3. 共通システムサービス4...

MySQL 5.7.20 zip インストール チュートリアル

MySQL 5.7.20 zipインストール、具体的な内容は次のとおりです(1)圧縮パッケージを解凍...

ウェブページを開いて数秒後に他のページにリダイレクトする

これを実現するには、次のコードを追加するだけです。方法1: メタを使用する使用方法: <Met...

JSコンストラクタとインスタンス化およびプロトタイプ導入の関係

目次1. コンストラクタとインスタンス化2. コンストラクターとインスタンス化の関係は何ですか? 3...

モバイルインターネット時代: レスポンシブウェブデザインが一般的なトレンドに

今はモバイルインターネットが急速に発展している時代です。スマートフォンやタブレットはますます普及し、...

React+tsは二次リンク効果を実現します

この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...

CSS でデジタル ページング効果のコードと手順を実装する方法

かなりの数のウェブサイトがデジタルページング効果を使用しています。たとえば、このサイトのページングも...

JavaScript でドラッグ可能なプログレスバーを実装する

この記事では、ドラッグ可能なプログレスバーを実装するためのJavaScriptの具体的なコードを参考...

フォーム OnSubmit と input type=image の使用の概要

ここに <input type="image"> がある場合、この画...