avoir
Ce sera lent, mais un having
la clause s'exécutera après tous les selects, joins, where et group by sont terminés et entièrement résolus.
Le seul problème est que having
n'utilise pas d'index, tandis que where
utilise un index.
SELECT
ranking stuff
FROM
lot of tables
WHERE simple_condition
HAVING filters_that_run_last
Rendez vos jointures explicites
Notez que vous n'êtes pas obligé de mélanger les jointures explicites et implicites.
Si vous voulez une jointure croisée, vous pouvez utiliser la cross join
mot-clé.
....
) AS Ranking
CROSS JOIN (SELECT @curr := null, @prev := null, @rank := 0) InitVars
WHERE
Ranking.regional_id = 1003