Friday, July 1, 2022

GROUP BY-Klausel

Die GROUP BY-Klausel in Access kombiniert Datensätze mit identischen Werten in der angegebenen Feldliste zu einem einzigen Datensatz. Für jeden Datensatz wird ein Zusammenfassungswert erstellt, wenn Sie eine SQL-Aggregatfunktion wie Sum oder Count in die SELECT-Anweisung aufnehmen.

Syntax

Feldliste AUSWÄHLEN
AUS -Tabelle
WO- Kriterien
[GRUPPE NACH Gruppenfeldliste ]

Eine SELECT-Anweisung, die eine GROUP BY-Klausel enthält, hat folgende Teile:

Teil

Beschreibung

Feldliste

Der Name des abzurufenden Felds oder der abzurufenden Felder zusammen mit Feldnamen-Aliasnamen, SQL-Aggregatfunktionen, Auswahlprädikaten (ALL, DISTINCT, DISTINCTROW oder TOP) oder anderen SELECT-Anweisungsoptionen.

Tisch

Der Name der Tabelle, aus der Datensätze abgerufen werden.

Kriterien

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 groupfieldlist bestimmt die Gruppierungsebenen von der höchsten zur niedrigsten Gruppierungsebene.

Bemerkungen

GROUP BY ist optional.

Zusammenfassungswerte werden ausgelassen, wenn die SELECT-Anweisung keine SQL-Aggregatfunktion enthält.

Nullwerte in GROUP BY-Feldern werden gruppiert und nicht weggelassen. Nullwerte werden jedoch in keiner SQL-Aggregatfunktion ausgewertet.

Verwenden Sie die WHERE-Klausel, um Zeilen auszuschließen, die Sie nicht gruppieren möchten, und verwenden Sie die HAVING-Klausel, um Datensätze zu filtern, nachdem sie gruppiert wurden.

Sofern es keine Memo- oder OLE-Objektdaten enthält, kann ein Feld in der GROUP BY-Feldliste auf jedes Feld in jeder Tabelle verweisen, die in der FROM-Klausel aufgeführt ist, selbst 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 nicht nach Memo- oder OLE-Objektfeldern gruppieren.

Alle Felder in der SELECT-Feldliste müssen entweder in der GROUP BY-Klausel oder als Argumente für eine SQL-Aggregatfunktion enthalten sein.

No comments:

Post a Comment