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
SELECT zoznampolí
FROM tabuľka WHERE kritériá [GROUP BY zoznampolískupiny]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.