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-Tabelle
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.

Sofern es keine Memo- oder OLE-Objektdaten enthält, kann ein Feld in der GROUP BY-Feldliste auf jedes Feld in einer beliebigen Tabelle verweisen, die in der FROM-Klausel aufgeführt ist, auch wenn das Feld nicht in der SELECT-Anweisung enthalten ist, vorausgesetzt, die SELECT-Anweisung enthält mindestens eine SQL-Aggregatfunktion. Die Microsoft Access-Datenbank-Engine kann nicht nach Memo- oder OLE-Objektfeldern gruppieren.

Alle Felder in der SELECT-Feldliste müssen in die GROUP BY-Klausel eingeschlossen sein oder als Argumente in einer SQL-Aggregatfunktion eingeschlossen sein.