Accessin GROUP BY yhdistää määritetyn kentän tietueet, joilla on identtiset arvot, yhdeksi tietueeksi. Kullekin tietueelle luodaan yhteenvetoarvot, jos SELECT-lauseessa käytetään SQL-koostefunktiota, kuten Sum tai Count.
Syntaksi
SELECT-kenttäluettelo
FROM-taulukko
WHERE-ehdot
[GROUP BY groupfieldlist]
SELECT-lauseessa, joka sisältää GROUP BY -lauseen, on seuraavat osat:
| Osa | Kuvaus |
|---|---|
| Kenttäluettelo | Niiden kenttien nimet, jotka noudetaan yhdessä kenttänimialiasten, SQL-koostefunktioiden, valintapredikaattien (ALL, DISTINCT, DISTINCTROW tai TOP) tai muiden SELECT-lausevaihtoehtojen kanssa. |
| taulukko | Sen taulukon nimi, josta tietueet noudetaan. |
| ehdot | Valintaehdot. Jos lauseessa on WHERE-lause, Microsoft Access -tietokantamoduuli ryhmittää arvot sen jälkeen, kun WHERE-ehdot on sovellettu tietueisiin. |
| ryhmäkenttäluettelo | Enintään kymmenen kentän nimet, joiden perusteella tiedostot ryhmitetään. Kenttien nimien järjestys ryhmäkenttäluettelossa määrittää ryhmittelytasot korkeimmasta alimpaan. |
Huomautuksia
GROUP BY -lause on valinnainen.
Yhteenvetoarvot jätetään pois, jos SELECT-lauseessa ei ole SQL-koostefunktioita.
GROUP BY -kenttien nolla-arvot ryhmitetään ja näytetään. Nolla-arvoja ei kuitenkaan lasketa missään SQL-koostefunktiossa.
WHERE-lauseen avulla voidaan myös jättää pois rivejä, joita ei haluta ryhmittää, ja HAVING-lauseella voidaan suodattaa tietueita niiden ryhmittämisen jälkeen.
Ellei GROUP BY -kenttäluettelon kenttä sisällä Memo- tai OLE-objektitietoja, se voi viitata mihin tahansa kenttään missä tahansa FROM-lauseessa luetellussa taulukossa, vaikka kenttä ei sisältyisikään SELECT-lauseeseen, jos SELECT-lause sisältää vähintään yhden SQL-koostefunktion. Microsoft Access -tietokantamoduuli ei voi ryhmitellä Memo- tai OLE-objekti-kenttiä.
Kaikkien SELECT-kenttäluettelon kenttien täytyy joko sisältyä GROUP BY -lauseeseen tai niiden täytyy sisältyä argumentteina SQL-koostefunktioon.