Die Klausel GROUP BY in Access fasst Datensätze mit identischen Werten in der angegebenen Feldliste zu einem einzigen Datensatz zusammen. Für jeden Datensatz wird ein zusammenfassender Wert erstellt, wenn Sie eine SQL-Aggregatfunktion wie z. B. Sum oder Count in der SELECT-Anweisung verwenden.
Syntax
SELECT fieldlist
FROM table
WHERE-Kriterien
[GROUP BY groupfieldlist]
Eine SELECT-Anweisung mit einer GROUP BY-Klausel besteht aus den folgenden Teilen:
| Teil | Beschreibung |
|---|---|
| Feldliste | Die Namen der Felder, die abgerufen werden sollen, sowie Feldnamenaliase, SQL-Aggregatfunktionen, Auswahlprädikate (ALL, DISTINCT, DISTINCTROW oder TOP) oder sonstige SELECT-Anweisungsoptionen. |
| Tabelle | Der Name der Tabelle, aus der Datensätze abgerufen werden. |
| Kriterien | Ein Auswahlkriterium. Wenn die Anweisung eine WHERE-Klausel enthält, gruppiert das Microsoft Access-Datenbankmodul Werte, nachdem die WHERE-Bedingungen auf die Datensätze angewendet wurden. |
| Gruppenfeldliste | Die Namen von bis zu 10 Feldern, die zum Gruppieren von Datensätzen verwendet werden. Die Reihenfolge der Feldnamen in der Gruppenfeldliste bestimmt die Gruppierungsebenen von der höchsten bis zur niedrigsten Gruppierungsebene. |
Hinweise
GROUP BY ist optional.
Zusammenfassende Werte werden ausgelassen, wenn in der SQL-Anweisung keine SQL-Aggregatfunktion vorhanden ist.
NULL-Werte in GROUP BY-Feldern werden gruppiert und nicht ausgelassen. NULL-Werte werden jedoch in keiner SQL-Aggregatfunktion ausgewertet.
Mit der WHERE-Klausel schließen Sie Zeilen aus, die nicht gruppiert werden sollen, und mit der HAVING-Klausel filtern Sie Datensätze nach dem Gruppieren.
Ein Feld in der GROUP BY-Feldliste kann auf jedes Feld in einer beliebigen Tabelle verweisen, in der die FROM-Klausel enthalten ist, es sei denn, es enthält Memo- oder OLE-Objektdaten, auch wenn das Feld nicht in der SELECT-Anweisung enthalten ist, vorausgesetzt, die SELECT-Anweisung enthält mindestens eine SQL-Aggregatfunktion. Das Microsoft Access-Datenbankmodul kann keine Gruppierungen nach Memo- oder OLE-Objektfeldern durchführen.
Alle Felder in der SELECT-Feldliste müssen in die GROUP BY-Klausel eingeschlossen sein oder als Argumente in einer SQL-Aggregatfunktion eingeschlossen sein.