SELECT
FROM
JOIN
WHERE
GROUP BY
HAVING
ORDER
LIMIT

questo e' l'ordine. HAVING lavora sui record estratti con la clausola WHERE. Quindi non si deve mettere in HAVING una condizione che puo'/deve esistere in WHERE.