Můžete použít základní SQL dotazy k načtení dat z databáze, ale často to neposkytuje dostatek informací pro splnění obchodních požadavků. SQL také poskytuje možnost seskupit výsledky dotazu na základě atributů na úrovni řádku za účelem použití agregačních funkcí pomocí klauzule GROUP BY. Zvažte například tabulku údajů o objednávkách, která se skládá z následujících atributů:
- Číslo objednávky - číselnou hodnotu jednoznačně identifikující každou objednávku. Toto pole je primární klíč pro databázi.
- Prodavač - textová hodnota obsahující jméno prodejce, který výrobky prodal. Toto pole je cizí klíč k další tabulce obsahující informace o osobách.
- Zákaznické identifikační číslo - číselnou hodnotu 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.
- Výnosy - číselnou hodnotu odpovídající dolarové částce prodeje.
Když přichází čas provést hodnocení výkonnosti prodejců, tabulka Objednávky obsahuje cenné informace, které mohou být pro tuto recenzi použity. Při hodnocení Jimu byste například mohli napsat jednoduchý dotaz, který vyhledá všechny záznamy o prodeji společnosti Jim:
SELECT *
Z objednávek
KDYŽ prodejce LIKE 'Jim'
Tím by byly získány všechny záznamy z databáze odpovídající prodeji společnosti Jim: SalesID SalesID SalesID
12482 Jim 182 40000
12488 Jim 219 25000
12519 Jim 137 85000
12602 Jim 182 10000
12741 Jim 155 90000
Můžete si tyto informace prohlédnout a provést nějaké manuální výpočty, abyste mohli přijít s statistikami výkonu, ale to by bylo nudné úkol, který byste museli opakovat u každého prodejce ve firmě. Namísto toho můžete tuto práci nahradit jediným dotazem GROUP BY, který vypočítává statistiky pro každého prodejce ve společnosti. Jednoduše zapište dotaz a určete, že databáze by měla seskupit výsledky na základě pole Prodejce. Potom můžete použít libovolnou z agregačních funkcí SQL k výpočtu výsledků. Zde je příklad. Pokud jste provedli následující příkaz SQL: SELECT prodejce, SUM (příjem) AS 'celkem', MIN (příjem) AS 'nejmenší', MAX (příjem) AS 'největší', AVG (příjmy)
Z objednávek
GROUP Podle prodejce
Získali byste následující výsledky: Prodejce Celkový nejmenší největší průměrný počet
Jim 250000 10000 90000 50000 5
Mary 342000 24000 102000 57000 6
Bob 118000 4000 36000 39333 3
Jak můžete vidět, tato výkonná funkce umožňuje vytvářet malé zprávy z dotazu SQL a poskytovat cenné obchodní zpravodajství manažerovi provádějícímu kontroly výkonu. Klauzule GROUP BY se pro tento účel často používá v databázích a je cenným nástrojem ve sáčku triků DBA.




