コードは次のようになります。 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 の /etc/network/interfaces ファイルは、ネットワーク インターフ...
1. テーブル構造 2. 表データ 3. クエリのteacher_nameフィールドは空にすることは...
この記事では、オンラインチャットを実現するためのVue + sshフレームワークの具体的なコードを参...
あなたはこの質問について考えたことがあるでしょうか?デュアルアクティブが構成されている場合、データル...
1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...
apache: ポートに基づいて仮想ホストを作成する仮想ホスト(a、b、c)の作成を例に挙げます1)...
1例: 図1のフィールドを図2に分割するには アカウントIDを選択、 サブストリングインデックス(サ...
目次序文始めるちょっとした考えコードの実装真似する実装トラックトリガーの実装観察の実装計算の実装序文...
通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。このよう...
プロジェクトはサーバーと対話し、post を通じてサーバー側の jsp にアクセスし、jsp はサー...
目次メイントピック1. UbuntuにDockerをインストールする2. DockerにROS2-F...
Vue バス メカニズム (バス) vuex を使用するだけでなく、vue 内の親子以外のコンポーネ...
bgcolor="テキストの色" background="背景画像&q...
この記事は主に、初心者に XHTML の基本的な知識と、XHTML と HTML の違いを理解しても...
目次1. 遅延読み込みとは何ですか? 2. 遅延読み込みを実装する🌄: 2.1 最初の方法: 2.2...