HAVING
klauzule je určena k použití na agregovaných datech, když seskupujete řádky dohromady pomocí GROUP BY
doložka. Protože pracujete na každém řádku samostatně, měli byste nahradit HAVING
s WHERE
doložka. Viz tento příklad
pro podrobnosti.
Použití HAVING na neagregované sloupce ve vašem seznamu SELECT je nestandardní chování, které MySQL podporuje, ale chování, na které by se nemělo spoléhat. Dokonce i reference MySQL odrazuje to:
Na okraj:pokud předáváte argumenty od uživatele vašemu dotazu (s %s
), nezapomeňte se podívat do připravených prohlášení. Jinak můžete mít do očí bijící bezpečnostní chybu.