Klauzula HAVING

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Klauzula HAVING w programie Access określa, które zgrupowane rekordy są wyświetlane w instrukcji SELECT zawierającej klauzulę GROUP BY. Gdy klauzula GROUP BY połączy rekordy, klauzula HAVING wyświetla wszystkie zgrupowane rekordy, które spełniają warunki określone w klauzuli HAVING.

Składnia

Lista pól SELECT
FROM tabela
WHERE selectcriteria
Group BY groupfieldlist
[HAVING groupcriteria]

Instrukcja SELECT zawierająca klauzulę HAVING składa się z następujących segmentów:

Segment Opis
lista_pól Nazwa pola lub pól, jakie mają być pobierane wraz ze wszystkimi ewentualnymi aliasami nazw pól, funkcje agregujące w języku SQL, orzeczenia wyboru (ALL, DISTINCT, DISTINCTROW i TOP) lub inne opcje instrukcji SELECT.
tabela Nazwa tabeli, z której są pobierane rekordy.
kryteria_wyboru Kryteria wyboru. Jeśli instrukcja zawiera klauzulę WHERE, aparat bazy danych programu Microsoft Access grupuje wartości po zastosowaniu warunków klauzuli WHERE do rekordów.
lista_pól_grupowania Nazwy maksymalnie 10 pól używanych do grupowania rekordów. Kolejność nazw pól na liście lista_pól_grupowania określa poziomy grupowania od najwyższego do najniższego.
kryteria_grupowania Wyrażenie określające, które zgrupowane rekordy będą wyświetlane.

Uwagi

Klauzula HAVING jest opcjonalna.

Klauzula HAVING przypomina klauzulę WHERE, która określa zakres wybieranych rekordów. Analogicznie, gdy rekordy zostaną pogrupowane przy użyciu instrukcji GROUP BY, klauzula HAVING określa, które rekordy są wyświetlane.

SELECT CategoryID,
Sum(UnitsInStock)
FROM Products
GROUP BY CategoryID
HAVING Sum(UnitsInStock) > 100 And Like "BOS*";

Klauzula HAVING może zawierać maksymalnie 40 wyrażeń połączonych operatorami logicznymi, takimi jak And (Oraz) czy Or (Or).