Megosztás a következőn keresztül:


Csoportok feltételeinek megadása (Visual Database Tools)

A következőkre vonatkozik:SQL Server

A lekérdezésekben megjelenő csoportokat korlátozhatja egy olyan feltétel megadásával, amely a csoportok egészére vonatkozik – egy HAVING záradékot. Az adatok csoportosítása és összesítése után a záradékban szereplő HAVING feltételek lesznek alkalmazva. A lekérdezésben csak a feltételeknek megfelelő csoportok jelennek meg.

Előfordulhat például, hogy egy titles táblázatban minden könyv átlagos árát szeretné látni, de csak akkor, ha az átlagos ár meghaladja a 10,00 USD-t. Ebben az esetben megadhat egy záradékot HAVING egy olyan feltétellel, mint a AVG(price) > 10.

Jegyzet

Egyes esetekben érdemes lehet kizárni az egyes sorokat a csoportokból, mielőtt feltételt alkalmazna a csoportok egészére. Részletekért lásd : A HAVING és a WHERE záradékok használata ugyanabban a lekérdezésben (Visual Database Tools).

A feltételek használatával AND és OR összekapcsolásával összetett feltételeket hozhat létre egy HAVING záradékhoz. A keresési feltételek használatáról AND és OR a keresési feltételekről további információt a Több keresési feltétel megadása egy oszlophoz (Visual Database Tools) című témakörben talál.

Csoport feltételének megadása

  1. Adja meg a lekérdezés csoportjait. A részletekért lásd: Csoportsorok a lekérdezési eredményekben (Visual Database Tools).

  2. Ha még nem szerepel a Feltételek panelen (Visual Database Tools), adja hozzá azt az oszlopot, amelyre a feltételt alapozni szeretné. (A feltétel leggyakrabban egy olyan oszlopot tartalmaz, amely már csoport vagy összefoglaló oszlop.) Nem használhat olyan oszlopot, amely nem része az összesítő függvénynek vagy a GROUP BY záradéknak.

  3. A Szűrő oszlopban adja meg a csoportra alkalmazandó feltételt.

    A Lekérdezés- és nézettervező eszközök (Visual Database Tools) automatikusan létrehoznak egy HAVING záradékot az SQL-panelen (Visual Database Tools) található utasításban, például a következő példában:

    SELECT pub_id,
           AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10);
    
  4. Ismételje meg a 2. és a 3. lépést minden további feltételnél, amelyet meg szeretne adni.