Klauzula GROUP BY

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Klauzula GROUP BY kombinuje záznamy s identickými hodnotami v určenom zozname polí do jedného záznamu. Ak zahrniete agregačnú funkciu SQL, napríklad Sum alebo Count, v príkaze SELECT sa pre každý záznam vytvorí súhrnná hodnota.

Syntax

Zoznam polí SELECT
Tabuľka FROM
Kritériá WHERE
[Group BY groupfieldlist]

Príkaz SELECT, ktorý obsahuje klauzulu GROUP BY, má tieto časti:

Časť Popis
zoznampolí Názvy polí, ktoré sa majú načítať spolu s ľubovoľnými aliasmi názvov polí, agregačnými funkciami SQL, predikátmi výberu (ALL, DISTINCT, DISTINCTROW alebo TOP) alebo inými možnosťami príkazu SELECT.
tabuľka Názov tabuľky, z ktorej sú načítané záznamy.
kritériá Kritériá výberu. Ak príkaz zahŕňa klauzulu WHERE, po použití podmienky WHERE pre záznamy databázový nástroj programu Microsoft Access zoskupí hodnoty.
zoznampolískupiny Názvy maximálne desiatich polí na zoskupovanie záznamov. Poradie názvov polí v položke zoznampolískupiny určuje úrovne zoskupovania od najvyššej po najnižšiu.

Poznámky

Klauzula GROUP BY je voliteľná.

Súhrnné hodnoty sa vynechajú, ak sa agregačná funkcia SQL nenachádza v príkaze SELECT.

Hodnoty Null sa v poliach GROUP BY zoskupia a nevynechajú sa. Hodnoty Null sa však nevyhodnotia v žiadnej agregačnej funkcii SQL.

Pomocou klauzuly WHERE vylúčte riadky, ktoré nechcete zoskupiť. Po zoskupení záznamy filtrujte pomocou klauzuly HAVING.

Pokiaľ pole v zozname polí GROUP BY neobsahuje údaje typu Memo alebo Objekt OLE, môže odkazovať na ľubovoľné pole v tabuľke uvedenej v klauzule FROM, a to i v prípade, že pole nie je zahrnuté v príkaze SELECT – za predpokladu, že tento príkaz zahŕňa aspoň jednu agregačnú funkciu SQL. Databázový nástroj programu Microsoft Access nemôže zoskupovať podľa polí typu Memo a Objekt OLE.

Všetky polia v zozname polí príkazu SELECT musia byť zahrnuté v klauzule GROUP BY alebo ako argumenty pre agregačnú funkciu SQL.