HAVING
Met HAVING
is het mogelijk om een resultset met zogeheten
aggregratie functies te limiteren.
Deze functies kunnen namelijk niet in de
WHERE
clausule worden gebruikt.
SELECT kolomnaam FROM Tabelnaam GROUP BY kolomnaam HAVING COUNT(kolomnaam2) > 2
In de query hierboven gebruiken we de COUNT
functie. Dit is een aggregratie functie en om deze
reden moeten we ook een GROUP BY
gebruiken.
HAVING
in de praktijk
De volgende dataset is de inhoud van de tabel Order.
ordernummer, klantnaam, orderbedrag 1, 'Henk Janssen', '23.20' 2, 'Mieke Sterk', '2.30' 3, 'Sjoerd Vermeulen', '12.93' 4, 'Mieke Sterk', '54.92' 5, 'Henk Janssen', '6.12' 6, 'Mieke Sterk', '9.60'
We willen alle klanten selecteren die meer dan 15 euro hebben besteed. We gebruiken hiervoor de
SUM-functie
SELECT klantnaam, SUM(orderbedrag) as totaal FROM Order GROUP BY klantnaam HAVING SUM(orderbedrag) > 15
klantnaam, totaal 'Henk Janssen', '29.32' 'Mieke Sterk', '66.92'