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

動的ランキング行へのMySQLクエリ

    持っている
    遅くなりますが、having 句は後に実行されます すべてのselect、joins、where、group byが終了し、完全に解決されています。
    唯一の問題は、havingあることです。 whereの間、インデックスを使用しません インデックスを使用します。

    SELECT
      ranking stuff
    FROM 
      lot of tables
    WHERE simple_condition
    HAVING filters_that_run_last
    

    参加を明示的にする
    明示的結合と暗黙的結合を混在させる必要はないことに注意してください。
    必要な場合 クロスジョイン、cross joinを使用できます キーワード。

        ....
        ) AS Ranking
        CROSS JOIN (SELECT @curr := null, @prev := null, @rank := 0) InitVars
    WHERE
      Ranking.regional_id = 1003
    


    1. Javaサーブレットを使用してmysqlデータベースから画像を取得し、それをHTML imgタグで表示する方法は?

    2. IDを使用して複数のSQLテーブルを結合するにはどうすればよいですか?

    3. MyISAMでの全文索引、単一列と複数列の索引

    4. UPDATEとSELECTを同時に行う方法