Accessi klausel GROUP BY ühendab ühesuguste väärtustega kirjed määratud väljaloendis üheks kirjeks. Kui kaasate lausesse SELECT SQL-kokkuvõttefunktsiooni (nt Sum või Count), luuakse iga kirje kohta summaarne väärtus.
Süntaks
SELECT väljaloend
FROM tabel WHERE kriteerium [GROUP BY rühmitusväljade_loend]GROUP BY-klauslit sisaldav lause SELECT koosneb järgmistest osadest.
Osa |
Kirjeldus |
väljaloend |
Koos väljanimede pseudonüümide, SQL-kokkuvõttefunktsioonide, valikupredikaatide (ALL, DISTINCT, DISTINCTROW või TOP) või muude SELECT-lause suvanditega allalaaditava välja või väljade nimi. |
tabel |
Selle tabeli nimi, kust kirjed alla laaditakse. |
kriteerium |
Valikukriteeriumid. Kui lause sisaldab WHERE-klauslit, rühmitab Microsoft Accessi andmebaasimootor väärtused pärast kirjetele WHERE-tingimuste rakendamist. |
rühmitusväljade_loend |
Kuni 10 kirjete rühmitamiseks kasutatava välja nimed. Loendis rühmitusväljade_loend olevate väljanimede järjestus määratleb rühmitustasemed – alates kõrgeimast ning lõpetades madalaimaga. |
Kommentaarid
Klausel GROUP BY on valikuline.
Kui lauses SELECT ei ole SQL-kokkuvõttefunktsiooni, siis jäetakse summaarsed väärtused välja.
Klausli GROUP BY väljadel asuvad nullväärtused rühmitatakse ning neid ei jäeta välja. Null-väärtusi ei arvutata aga üheski SQL-kokkuvõttefunktsioonis.
Kasutage WHERE-klauslit nende ridade väljajätmiseks, mida te rühmitada ei soovi, ning HAVING-klauslit pärast rühmitamist kirjete filtreerimiseks.
Kui klausli GROUP BY väljaloendi väli ei sisalda Memo või OLE-objekti andmeid, võib see viidata igale väljale kõigis FROM-klauslis loendatud tabelites, seda isegi siis, kui need väljad ei ole kaasatud lausesse SELECT ja eeldusel, et lauses SELECT sisaldub vähemalt üks SQL-kokkuvõttefunktsioon. Microsoft Accessi andmebaasimootor ei saa rühmitada Memo või OLE-objekti välju.
Kõik lause SELECT väljaloendi väljad peavad olema kaasatud kas klauslisse GROUP BY või argumentidena SQL-kokkuvõttefunktsiooni.