INF.04Bazy Danych i Zarządzanie Danymi (SQL & ORM)
Klauzule GROUP BY i HAVING w SQL
GROUP BY grupuje wiersze o identycznych wartościach w celu wykonania agregacji, a HAVING filtruje zagregowane grupy (w przeciwieństwie do WHERE filtrującego pojedyncze wiersze).
Różnica między WHERE a HAVING:
WHERE: Filtruje wiersze przed ich pogrupowaniem i zagregowaniem. Nie może zawierać funkcji agregujących (COUNT,SUMitd.).HAVING: Filtruje grupy po wykonaniu grupowania i obliczeniu funkcji agregujących.
SQL
-- Wybierz wydziały zatrudniające więcej niż 5 pracowników:
SELECT Dzial, COUNT(*) AS LiczbaPracownikow, AVG(Pensja) AS SredniaPensja
FROM Pracownicy
WHERE Status = 'Aktywny'
GROUP BY Dzial
HAVING COUNT(*) > 5;Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Klauzule GROUP BY i HAVING w SQL lub rozpocznij trening.