コードは次のようになります。 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 警告問題に対処する方法
1. 参照整合性参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。複数テ...
1. ビジネスシナリオの紹介MySQLを使用する電子商取引システムがあるとします。大量のデータを保存...
<div class="box"> <画像 /> &l...
今日は、データベース遅延ジャンプに関する別の典型的な問題を分析しました。このプロセスでは、参考のため...
今日は、ネイティブ JS で実装された画像マーキー効果を紹介します。効果は次のとおりです。 実装され...
この要件を受け取ったとき、Baidu は、CSS リンクの置き換え、className の変更、le...
序文:前回の記事では、さまざまな MySQL ステートメント構文の使用法とユーザー権限に関する知識を...
目次SQLを理解するSELECTを理解するエイリアス定数をクエリし、固定定数列を追加します。重複行を...
目次MySQL 内部結合、左結合、右結合、外部結合、複数テーブルクエリビルド環境: 1. 内なる慈恩...
次のような初期コードがあると仮定します。 <!DOCTYPE html> <htm...
目次Express ミドルウェアとは何ですか? Expressミドルウェアを作成するための要件Exp...
以前、あるプロジェクトでMysql FIND_IN_SET関数を使用したことがありますが、非常に便利...
目次1.Nuxtサーバーサイドレンダリングアプリケーションの展開(SSRサーバーレンダリング)利点:...
1. Python 3をダウンロードする https://www.python.org/ftp/py...
目次分離効果コマンドラインの説明関与する機能分離効果-- 別居前1,2,3,4 -- 別居後1 2 ...