sql >> データベース >  >> RDS >> Mysql

MySQLはリーダーボードからランクを取得します

    データベースがこのクエリを実行するとき、最初にScoresから選択します 、name = '$name'によるフィルタリング 。

    次に、すべての行に対して、サブクエリを実行します:

    (
     SELECT  COUNT(*)
       FROM    Scores ui
      WHERE   (ui.score, -ui.ts) >= (uo.score, -uo.ts)
    ) AS rank
    

    これは、Scoresのすべての行について 検索された名前で、Scoresにあるレコードの数を検索します ここで、(ui.score, -ui.ts) 現在の行の値以上です。

    お役に立てば幸いです...



    1. Oracle 11gのオブジェクトタイプ列から選択するにはどうすればよいですか?

    2. SQLIN句1000項目の制限

    3. 多くの場所でGETDATE()を使用する場合、変数を使用する方が良いですか?

    4. PostgreSQLユーザーグループNL