V aplikaci Microsoft Access je GROUP BY klauzule, kterou můžete použít ke spojení záznamů se stejnými hodnotami v určitém poli v jednom záznamu. Pokud do příkazu SELECT zahrnete agregační funkci SQL, jako je AVG, COUNT nebo SUM, Access vytvoří souhrnnou hodnotu pro každý záznam.
Pokyny v tomto článku platí pro Access pro Microsoft 365, Access 2019, 2016, 2013 a 2010.
Pomocí GROUP BY
Funkci GROUP BY můžete najít a použít pomocí SQL dotazu v SQL View. Je to jeden z nejjednodušších a nejpřímějších způsobů přístupu a ovládání vašich dat.
-
Spusťte Access a otevřete svou databázi.
Tento příklad používá ukázkovou databázi Northwind.
-
Vyberte kartu Vytvořit.
-
Ve skupině Dotazy vyberte Design dotazu.
-
V seznamu Přidat tabulky vyberte tabulku, se kterou chcete pracovat.
-
Vyberte View ve skupině Výsledky a zvolte SQL View.
- Hlavní část se přepne do okna dotazovacího terminálu. Zde můžete zadat libovolný dotaz.
-
Chcete-li získat základní seskupení z SQL, zadejte něco takového:
SELECTFROM tablename WHERE sloupec/kategorie LIKE ‘záznam’;
Nahraďte skutečný název tabulky, záhlaví kategorie nebo sloupce a skutečnou hodnotu položky, kterou hledáte.
Rozdělení dotazu
Vezměte si například tabulku s údaji o objednávce sestávající z následujících atributů:
- OrderID: Číselná hodnota jednoznačně identifikující každou objednávku. Toto pole je primární klíč databáze.
- Salesperson: Textová hodnota poskytující jméno prodejce, který produkty prodal. Toto pole je cizí klíč k jiné tabulce obsahující personální informace.
- CustomerID: Číselná hodnota odpovídající číslu zákaznického účtu. Toto pole je také cizí klíč odkazující na tabulku obsahující informace o zákaznickém účtu.
- Revenue: Číselná hodnota odpovídající částce prodeje v dolarech.
Když nastane čas provádět kontroly výkonu pro prodejce, tabulka Objednávky obsahuje cenné informace, které lze pro tuto kontrolu použít. Při hodnocení Jima byste mohli například napsat jednoduchý dotaz, který načte všechny Jimovy záznamy o prodeji:
SELECTFROM Orders WHERE Salesperson LIKE ‘Jim’;
To by načetlo všechny záznamy z databáze odpovídající prodejům uskutečněným Jimem:
ID objednávky Prodejce ID zákazníka Tržby
12482 Jim 182 40000
12488 Jim 219 25000
12519 Jim 137 85000102000 Jim 10200010620 12741 Jim 155 90 000
Mohli byste si tyto informace prohlédnout a provést nějaké ruční výpočty, abyste vytvořili statistiky výkonu, ale byl by to únavný úkol, který byste museli opakovat pro každého prodejce ve společnosti. Místo toho můžete tuto práci nahradit jediným dotazem GROUP BY, který vypočítá statistiky každého prodejce ve společnosti. Napíšete dotaz a určíte, že databáze má seskupit výsledky na základě pole Prodejce. Poté můžete použít kteroukoli z agregačních funkcí SQL k provádění výpočtů na výsledcích.
Zde je příklad. Pokud jste provedli následující příkaz SQL:
SELECT Salesperson, SUM(Tržby) JAKO 'Celkem', MIN (Tržby) JAKO 'Nejmenší', MAX (Tržby) JAKO 'Největší', AVG (Tržby) JAKO 'Průměr', COUNT (Tržby) JAKO ' Číslo' FROM Objednávky SKUPINA PODLE Prodejce;
Dostali byste následující výsledky:
Prodejce Celkem Nejmenší Největší průměrné číslo
Jim 250000 10000 90000 50000 5
Mary 342000 24000 102000 57000 6408 3000 64008 303 30 3
Jak můžete vidět, tato výkonná funkce vám umožňuje generovat krátké zprávy z dotazu SQL a poskytuje cenné obchodní informace manažerovi provádějícímu kontroly výkonu. Klauzule GROUP BY se k tomuto účelu v databázích často používá a je cenným nástrojem v tašce triků DBA.