sql >> Databáze >  >> RDS >> Mysql

Dotaz MySQL na dynamické řádky hodnocení


Bude to pomalé, ale having klauzule poběží po všechny výběry, připojení, kde a seskupení byly dokončeny a jsou plně vyřešeny.
Jediný problém je v tom, že having nepoužívá index, zatímco where používá index.

SELECT
  ranking stuff
FROM 
  lot of tables
WHERE simple_condition
HAVING filters_that_run_last

Udělejte svá připojení explicitní
Upozorňujeme, že nemusíte míchat explicitní a implicitní spojení.
Pokud chcete křížové spojení, můžete použít cross join klíčové slovo.

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


  1. Výjimka mySQL:Nelze se připojit k žádnému ze zadaných hostitelů MySQL. přes C#

  2. Vnořený příkaz Vložit do a vybrat

  3. Vraťte řádek pouze v případě, že hodnota neexistuje

  4. Propojení MATLABu a MySQL s ovladačem JDBC