Seskupejte řádky ve výsledcích dotazu (vizuální databázové nástroje)
platí pro:SQL Server
Pokud chcete vytvořit mezisoučty nebo zobrazit další souhrnné informace pro podmnožinu tabulky, vytvoříte skupiny pomocí agregovaného dotazu. Každá skupina shrnuje data pro všechny řádky v tabulce, které mají stejnou hodnotu.
Můžete například chtít zobrazit průměrnou cenu knihy v tabulce titles
, ale rozdělit výsledky podle vydavatele. Provedete to tak, že dotaz seskupíte podle vydavatele (například pub_id
). Výsledný výstup dotazu může vypadat takto:
Když seskupíte data, můžete zobrazit jenom souhrnná nebo seskupovaná data, například:
Hodnoty seskupených sloupců (ty, které se zobrazují v klauzuli GROUP BY). V předchozím příkladu
pub_id
je seskupený sloupec.Hodnoty vytvořené agregačními funkcemi, jako jsou SUM( ) a AVG( ). V předchozím příkladu se druhý sloupec vytvoří pomocí funkce AVG( ) se sloupcem
price
.
Hodnoty z jednotlivých řádků nelze zobrazit. Pokud například seskupíte jenom podle vydavatele, nemůžete v dotazu zobrazit také jednotlivé názvy. Pokud tedy do výstupu dotazu přidáte sloupce, Návrhář dotazů a zobrazení je automaticky přidá do klauzule GROUP BY příkazu v podokně SQL. Pokud chcete místo toho agregovat sloupec, můžete pro něj zadat agregační funkci.
Pokud seskupíte podle více než jednoho sloupce, zobrazí každá skupina v dotazu agregované hodnoty pro všechny sloupce seskupení.
Například následující dotaz na titles
tabulky seskupuje podle vydavatele (pub_id
) a také podle typu knihy (type
). Výsledky dotazu jsou seřazené podle vydavatele a zobrazují souhrnné informace pro každý jiný typ knihy, kterou vydavatel vytvoří:
SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type
Výsledný výstup může vypadat takto:
Seskupit řádky
Začněte dotaz přidáním tabulek, které chcete shrnout do podokna Diagram.
Klikněte pravým tlačítkem myši na pozadí podokna Diagram a v místní nabídce zvolte Přidat skupinování podle. Návrhář dotazu a zobrazení přidá do mřížky v podokně Kritéria sloupec Seskupit podle.
Přidejte sloupec nebo sloupce, které chcete seskupit, do podokna Kritéria. Pokud chcete, aby se sloupec zobrazoval ve výstupu dotazu, ujistěte se, že je pro výstup vybraný sloupec Výstup.
Návrhář dotazu a zobrazení přidá klauzuli GROUP BY do příkazu v podokně SQL. Například příkaz SQL může vypadat takto:
SELECT pub_id FROM titles GROUP BY pub_id
Přidejte sloupec nebo sloupce, které chcete agregovat, do podokna Kritéria. Ujistěte se, že je sloupec určen pro výstup.
Ve sloupci, který se má agregovat, vyberte v buňce mřížky Seskupit podle příslušnou agregační funkci.
Návrhář dotazů a zobrazení automaticky přiřadí alias sloupce, který sumarizujete. Tento automaticky vygenerovaný alias můžete nahradit smysluplnějším aliasem. Další podrobnosti najdete v tématu Vytvoření aliasů sloupců.
Odpovídající příkaz v podokně SQL může vypadat takto:
SELECT pub_id, SUM(price) AS Totalprice FROM titles GROUP BY pub_id