Sdílet prostřednictvím


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:

výsledky dotazu: průměrná cena seskupená podle vydavatele

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:

výsledky dotazu: ceny seskupené podle vydavatele a typu

Seskupit řádky

  1. Začněte dotaz přidáním tabulek, které chcete shrnout do podokna Diagram.

  2. 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.

  3. 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  
    
  4. Přidejte sloupec nebo sloupce, které chcete agregovat, do podokna Kritéria. Ujistěte se, že je sloupec určen pro výstup.

  5. 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ů.

    Přidání aliasu sloupce do sady výsledků dotazu

    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  
    

Viz také

řazení a seskupování výsledků dotazu