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

mysqlとphpを使用してソートされた行の位置を取得する方法

    それを行うには2つの方法があります:

    方法1:

    SET @i = 0;
    
    SELECT * FROM 
    scores s1 INNER JOIN (SELECT *, @i := @i + 1 AS rank FROM scores ORDER BY score DESC) AS s2 USING (id);
    

    方法2:

    SELECT *, (SELECT COUNT(1) AS num FROM scores WHERE scores.score > s1.score) + 1 AS rank FROM scores AS s1
    ORDER BY rank asc
    


    1. このクエリがnullを含む行を返すのはなぜですか

    2. 関連性によるMYSQL全文検索順序

    3. コマンドラインを介してLinux上のMySQLデータベースを表示(リスト)

    4. サブクエリを使用せずにMySQLで複数のクエリを実行する