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 Feldliste
FROM Tabelle WHERE Kriterien [GROUP BY Gruppenfeldliste]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.