Sobes.tech
Junior — Middle

Kas SQL-päringutes HAVING-klauslit saab kasutada ilma GROUP BY-otsata?

sobes.tech AI

Vastus AI-lt

Konstruktsioon HAVING kasutatakse tavaliselt gruppide filtreerimiseks, mis on loodud GROUP BY abil. Kuid mõnes andmebaasisüsteemis saab HAVING-i kasutada ka ilma GROUP BY-ta — sel juhul toimib HAVING filtrina kogu andmekogumi rakendatud agregaatfunktsioonidele.

Näiteks päring:

SELECT COUNT(*) FROM Orders HAVING COUNT(*) > 10;

toimib ja tagastab tulemuse ainult juhul, kui kirje arv on suurem kui 10.

Enamasti on HAVING ilma GROUP BY-ta haruldane ja seda saab asendada WHERE või teiste konstruktsioonidega. Parema tulemuse saamiseks kasutage HAVING-i koos GROUP BY-ga gruppide filtreerimiseks.