Sdílet prostřednictvím


Určení podmínek pro skupiny (Visual Database Tools)

platí pro:SQL Server

Skupiny, které se zobrazí v dotazu, můžete omezit zadáním podmínky, která se vztahuje na skupiny jako celek – HAVING klauzuli. Po seskupení a agregaci dat se použijí podmínky v HAVING klauzuli. V dotazu se zobrazí jenom skupiny, které splňují podmínky.

Můžete například chtít zobrazit průměrnou cenu všech knih pro každého vydavatele v tabulce titles, ale pouze v případě, že průměrná cena překročí 10,00 KČ. V takovém případě můžete zadat klauzuli HAVING s podmínkou, například AVG(price) > 10.

Poznámka

V některých případech můžete chtít před použitím podmínky u skupin jako celku vyloučit jednotlivé řádky ze skupin. Podrobnosti najdete v tématu Použití klauzulí HAVING a WHERE ve stejném dotazu (Visual Database Tools).

Složité podmínky pro HAVING klauzuli můžete vytvořit pomocí AND a OR propojení podmínek. Podrobnosti o použití AND a OR v podmínkách hledání najdete v tématu Zadání více podmínek hledání pro jeden sloupec (Visual Database Tools).

Zadání podmínky pro skupinu

  1. Zadejte skupiny pro váš dotaz. Podrobnosti najdete v části Seskupování řádků ve výsledcích dotazu (Visual Database Tools).

  2. Pokud ještě není v podokně kritérií (Visual Database Tools), přidejte sloupec, na kterém chcete podmínku založit. (Nejčastěji podmínka zahrnuje sloupec, který už je ve skupině nebo souhrnném sloupci.) Nemůžete použít sloupec, který není součástí agregační funkce ani GROUP BY klauzule.

  3. Ve sloupci Filtr zadejte podmínku, která se má použít pro skupinu.

    Nástroje návrháře dotazů a zobrazení (Visual Database Tools) automaticky vytvoří HAVING klauzuli v příkazu v podokně SQL (Visual Database Tools), například v následujícím příkladu:

    SELECT pub_id,
           AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10);
    
  4. Opakujte kroky 2 a 3 pro každou další podmínku, kterou chcete zadat.