コードは次のようになります。 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 ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: Webstorm と Chrome を使用して Vue プロジェクトをデバッグする方法
>>: Linux システムによって報告される xfs_vm_releasepage 警告問題に対処する方法
Linux はオープン システムです。インターネット上には、既成のプログラムやツールが多数存在します...
目次概要単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...
キーコードは次のとおりです。コードをコピーコードは次のとおりです。 html{高さ:100%; }コ...
1. 概要1.1 基本概念: Docker は、Go 言語をベースにしたオープンソースのアプリケーシ...
導入MySQL データベースを使用する場合、int を主キーとして使用し、自動インクリメントに設定す...
これまでの数年間、私はいわゆる「設計仕様」についてかなりの数の執筆やコンサルティングを行ってきました...
目次1. 準備: 2. ソースコードのコンパイル1. 設定する2. コンパイルエラー3. ターゲット...
1. MySQL のインデックスの使用方法インデックスは、特定の列の値を持つ行をすばやく見つけるため...
序文smb は、クライアントとサーバー間の Web 接続および情報通信に使用できるプロトコルの名前で...
最近のプロジェクトでフォームを作成するときに、コメント ボックスまで自動的にスクロールし、コメント ...
目次分散IDソリューションの概要データベース自動増分IDデータベースマルチマスターモード数値セグメン...
1. MacにMySQLデータベースをインストールする1. MySQLデータベースをダウンロードする...
Web 標準について議論するときに必ず話題になるのは、構造とプレゼンテーションを分離することの重要性...
ブランクのブログ: http://www.planabc.net/ innerHTML プロパティは...
VMware のインストールパッケージのインストールダウンロードアドレス: https://www....