GROUP BY-Klausel

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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.