Az Access GROUP BY záradéka egyetlen rekordban egyesíti azokat a rekordokat, amelyek a megadott mezőlistában ugyanazt az értéket tartalmazzák. Ha a SELECT utasításban összesítő SQL-függvényt alkalmaz, mint például a Sum vagy a Count, akkor minden egyes rekord egy összesített értéket fog tartalmazni.
Szintaxis
SELECT mezőlista
FROM tábla WHERE feltételek [GROUP BY csoportosító mezőlista]Egy GROUP BY záradékot tartalmazó SELECT utasítás a következő részekből áll:
Rész |
Leírás |
mezőlista |
A visszaadandó mező vagy mezők neve az esetleges aliasokkal, összesítő SQL-függvényekkel, kiválasztási predikátumokkal (ALL, DISTINCT, DISTINCTROW vagy TOP), valamint a SELECT utasítás egyéb paramétereivel együtt. |
tábla |
Annak a táblának a neve, amelyből a rekordokat lekérdezi. |
feltételek |
Kiválasztási feltételek. Ha az utasítás tartalmaz WHERE záradékot, akkor a Microsoft Access adatbázismotorja a WHERE feltételeknek a rekordokra történő alkalmazása után összesíti az értékeket. |
csoportosító mezőlista |
Legfeljebb 10 mező neve, amelynek alapján a rekordokat csoportosítja. A csoportosító mezőlista mezőneveinek sorrendje meghatározza a csoportosítási szinteket a legalsótól a legfelső szintig. |
Megjegyzések
A GROUP BY záradék használata nem kötelező.
Ha a SELECT utasításban nincs összesítő SQL-függvény, akkor az értékek összegzése elmarad.
Ha a GROUP BY záradékban megadott mezőkben NULL érték szerepel, a függvény ezeket is csoportosítja. Az összesítő SQL-függvények ennek ellenére nem értékelik ki a Null értékeket.
Ha bizonyos sorokat nem szeretne csoportosítani, akkor a WHERE záradékkal zárja ki őket, ha viszont a csoportosítás után szeretne kiszűrni bizonyos rekordokat, akkor azt a HAVING záradékkal teheti meg.
A Feljegyzés és OLE-objektum típusú adatokat tartalmazó mezők kivételével a GROUP BY mezőlistájában szereplő mezők a FROM záradékban meghatározott táblák bármelyikének bármelyik mezőjére hivatkozhatnak, akár azokra is, amelyek nem szerepelnek a SELECT utasításban, feltéve hogy a SELECT utasítás tartalmaz legalább egy összesítő SQL-függvényt. A Microsoft Access adatbázismotorja nem tudja csoportosítani a Feljegyzés és az OLE-objektum típusú mezőket.
A SELECT mezőlistában előforduló mezők mindegyikének szerepelnie kell vagy a GROUP BY záradékban, vagy argumentumként valamelyik összesítő SQL-függvényben.