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ů:
- OrderID - číselná hodnota jednoznačně identifikující každou objednávku. Toto pole je primární klíč pro databázi.
- Prodejce - textová hodnota udávající jméno prodejce, který výrobky prodal. Toto pole je cizí klíč k další tabulce obsahující informace o osobách.
- 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.
- Výnos - číselná hodnota odpovídající dolaru částku 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 * FROM Objednávky WHERE Salesperson LIKE 'Jim'Tím by byly získány všechny záznamy z databáze odpovídající prodeji společnosti Jim:
Objednací číslo Prodejce Příjem zákazníka 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:
Získali byste následující výsledky:
Prodejce Celkem 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 3Jak 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.