có
Nó sẽ chậm, nhưng having
mệnh đề sẽ chạy sau tất cả các lựa chọn, tham gia, ở đâu và theo nhóm đã hoàn thành và được giải quyết hoàn toàn.
Vấn đề duy nhất là having
không sử dụng chỉ mục, trong khi where
không sử dụng một chỉ mục.
SELECT
ranking stuff
FROM
lot of tables
WHERE simple_condition
HAVING filters_that_run_last
Làm cho các liên kết của bạn trở nên rõ ràng
Lưu ý rằng bạn không phải kết hợp các phép nối rõ ràng và ngầm.
Nếu bạn muốn kết hợp chéo, bạn có thể sử dụng cross join
từ khóa.
....
) AS Ranking
CROSS JOIN (SELECT @curr := null, @prev := null, @rank := 0) InitVars
WHERE
Ranking.regional_id = 1003