Shrnutí: v tomto tutoriálu, se dozvíte, jak používat SQL Server GROUP BY
doložku sjednat řádky do skupin podle jednoho nebo více sloupců.
Úvod do skupiny SQL Server klauzulí
GROUP BY
klauzule umožňuje uspořádat řádky dotazu ve skupinách. Skupiny jsou určeny sloupci, které zadáte v klauzuli GROUP BY
.,
následující obrázek znázorňuje GROUP BY
klauzule syntaxe:
Code language: SQL (Structured Query Language) (sql)
V tomto dotazu, GROUP BY
klauzule vypracovala skupina pro každou kombinaci hodnot ve sloupcích uvedeny v GROUP BY
klauzule.
Vezměme si následující příklad:
V tomto příkladu jsme načíst id zákazníka a objednané roce zákazníky s id zákazníka jedna a dvě.,
jak jasně vidíte z výstupu, zákazník s id one zadal jednu objednávku v roce 2016 a dvě objednávky v roce 2018. Zákazník s ID two zadal dvě objednávky v roce 2017 a jednu objednávku v roce 2018.
přidat GROUP BY
klauzule dotazu, chcete-li vidět účinek:
GROUP BY
klauzule uspořádány první tři řádky do dvou skupin, a další tři řádky do dalších dvou skupin s unikátní kombinací id zákazníka a aby rok.,
Funkčně vzato, GROUP BY
klauzule ve výše uvedeném dotazu vyrábí stejný výsledek jako následující dotaz, který používá DISTINCT
článek:
Serveru SQL klauzule GROUP BY a agregační funkce
V praxi, GROUP BY
doložka je často používán s agregační funkce pro generování souhrnné zprávy.
klauzuleGROUP BY
uspořádá řádky do skupin a souhrnná funkce vrátí souhrn (Počet, min, max, průměr, součet atd.,) pro každou skupinu.,
například následující dotaz vrátí počet objednávek zákazník tím, že rok:
Pokud chcete odkazovat na sloupec nebo výraz, který není uveden v GROUP BY
klauzule, musíte použít tento sloupec jako vstup agregační funkci. V opačném případě se zobrazí chyba, protože neexistuje žádná záruka, že sloupec nebo výraz vrátí jednu hodnotu za skupinu., Například následující dotaz selže:
další skupina podle příkladů klauzulí
Vezměme si další příklady, abychom pochopili, jak klauzule GROUP BY
funguje.
Použití klauzule GROUP BY s COUNT() funkce příklad:
následující dotaz vrátí počet zákazníků v každém městě:
V tomto příkladu, GROUP BY
klauzule skupiny zákazníků dohromady město a COUNT()
funkce vrátí počet zákazníků v každém městě.,
podobně následující dotaz vrací počet zákazníků podle státu a města.
Použití klauzule GROUP BY s MIN a MAX funkce příklad:
následující prohlášení, vrátí minimální a maximální ceníkové ceny všech produktů s modelem 2018 podle značky:
V tomto příkladu WHERE
klauzule je zpracována před GROUP BY
klauzule, jako vždy.,v>
Použití klauzule GROUP BY se SOUČET funkce příklad:
Viz následující order_items
tabulka:
následující dotaz používá SUM()
funkci, aby se čistá hodnota každé zakázky:
V tomto kurzu jste se naučili, jak používat SQL Server GROUP BY
doložku sjednat řádky do skupin podle zadaného seznamu sloupců.,