group by
Syntax
SELECT seznam_polí
FROM tabulka
WHERE kritéria
[GROUP BY seznam_seskupovacích_polí]
Popis
Príkaz jazyka SQL.
Group by je časť SQL príkazu určujúca zoskupovanie údajov vo výstupe podľa určených pravidiel.
Kombinace záznamů s identickými hodnotami v určených polích do jednoho záznamu. Pro každý záznam je vytvořena souhrnná hodnota, použijete-li v příkazu SELECT agregační funkci SQL, jako například funkci Sum nebo Count.
Příkaz SELECT obsahující klauzuli GROUP BY má následující části:
Část | Popis |
---|---|
seznam_polí | Název pole nebo polí, která mají být načtena, včetně aliasů (Alias (SQL): Alternativní název tabulky nebo pole ve výrazech. Často se používá ke zkrácení názvu tabulky nebo pole pro následné odkazy v kódu, k zamezení možným nejednoznačným odkazům nebo za účelem poskytnutí více popisného názvu ve výstupu dotazu.) názvů polí, agregačních funkcí jazyka SQL, výběrových predikátů (ALL, DISTINCT, DISTINCTROW či TOP) nebo dalších možností příkazu SELECT. |
tabulka | Název tabulky, ze které jsou načítány záznamy. |
kritéria | Kritéria výběru. Pokud příkaz zahrnuje klauzuli WHERE, databázový stroj Microsoft Access po uplatnění podmínek WHERE na záznamy provádí seskupení hodnot. |
seznam_seskupovacích_polí | Názvy až 10 polí, které se použijí pro seskupení záznamů. Pořadí názvů polí v seznamu seznam_seskupovacích_polí určuje úroveň seskupení od nejvyšší po nejnižší. |
Poznámky
Pokud příkaz SELECT neobsahuje agregační funkce SQL, jsou souhrnné hodnoty vynechány.
Hodnoty Null (Hodnota Null: Hodnota, kterou můžete zadat do pole nebo ji použit ve výrazech a dotazech a označit tak chybějící nebo neznámá data. V jazyce Visual Basic označuje klíčové slovo Null hodnotu Null. Některá pole, například pole primárního klíče, nemohou obsahovat hodnoty Null.) v polích klauzule GROUP BY jsou seskupeny a nejsou vynechány. Hodnoty Null nicméně nejsou vyhodnoceny žádnou z agregačních funkcí SQL.
Pomocí klauzule WHERE je možné vynechat řádky, které nemají být seskupeny. Pomocí klauzule HAVING lze filtrovat seskupené záznamy.
Pole v seznamu polí klauzule GROUP BY může odkazovat na libovolné pole v libovolné tabulce uvedené v klauzuli FROM, které neobsahuje data typu Memo (Typ dat Memo: Typ dat pole v databázi aplikace Microsoft Access. Pole typu Poznámka může obsahovat až 65 535 znaků.) nebo OLE Object (Typ dat OLE Object: Typ dat používaný pro objekty vytvořené v jiných aplikacích, které mohou být propojeny nebo vloženy do databáze aplikace Access.). To platí i v případě, že toto pole není zahrnuto v příkazu SELECT, pokud příkaz SELECT obsahuje alespoň jednu agregační funkci SQL. Databázový stroj Microsoft Access neumí provádět seskupování podle polí typu Memo nebo OLE Object.
Všechna pole v seznamu polí příkazu SELECT musí být uvedena buď v klauzuli GROUP BY, nebo jako argumenty agregační funkce SQL.
zdroj: http://office.microsoft.com/cs-cz/access/HA012314821029.aspx?pid=CH100728991029