ter
Será lento, mas um
having
cláusula será executada depois todos os selects, joins, where e group by's terminaram e estão totalmente resolvidos.O único problema é que
having
não usa um índice, enquanto where
usa um índice. SELECT
ranking stuff
FROM
lot of tables
WHERE simple_condition
HAVING filters_that_run_last
Torne suas associações explícitas
Observe que você não precisa misturar junções explícitas e implícitas.
Se querer uma junção cruzada, você pode usar a
cross join
palavra-chave. ....
) AS Ranking
CROSS JOIN (SELECT @curr := null, @prev := null, @rank := 0) InitVars
WHERE
Ranking.regional_id = 1003