TurboSQL Guide GROUP BY |
Top Previous Next |
Verbindet Zeilen mit gemeinsamen Spaltenwerten in einzelnen Zeilen. GROUP BY column_reference [, column reference...] Beschreibung Verwenden Sie eine GROUP BY-Klausel zum Verbinden von Zeilen mit denselben Spaltenwerten in einer einzigen Zeile. Die Kriterien zum Verbinden von Zeilen basieren auf den Werten in denjenigen Spalten, die in der GROUP BY-Klausel angegeben sind. Der Zweck der Verwendung einer GROUP BY-Klausel besteht darin, einen oder mehrere Spaltenwerte in einem einzelnen Wert zu verbinden (aggregieren) und eine oder mehrere Spalten zum eindeutigen Identifizieren der aggregierten Werte bereitzustellen. Eine GROUP BY-Klausel kann nur verwendet werden, wenn auf eine oder mehrere Funktionen eine Aggregatfunktion angewendet wird. Der Wert für die GROUP BY-Klausel ist eine durch Kommas getrennte Spaltenliste. Jede Spalte in dieser Liste muß folgenden Kriterien entsprechen:
Wird eine GROUP BY-Klausel verwendet, so müssen alle Tabellenspalten in der SELECT-Klausel der Abfrage mindestens einem der folgenden Kriterien genügen, oder sie darf nicht in der SELECT-Klausel stehen:
Für Literale in der SELECT-Klausel gelten die genannten Kriterien nicht. Die Unterscheidbarkeit von Zeilen basiert auf den Spalten in der angegebenen Spaltenliste. Alle Zeilen mit gleichen Werten in diesen Spalten werden in einer einzigen Zeile (oder logischen Gruppe) kombiniert. Für Spalten, die Subjekt einer Aggregatfunktion sind, werden die Werte über alle Zeilen der Gruppe kombiniert. Alle Spalten, die nicht Subjekt einer Aggregatfunktion sind, behalten ihre Werte bei und dienen dazu, die Gruppe eindeutig zu identifizieren. So werden beispielsweise in der folgenden SELECT-Anweisung die Werte in der Spalte SALES basierend auf unterschiedlichen Werten in der Spalte COMPANY in Gruppen aggregiert (summiert). Auf diese Weise werden Verkaufssummen für jede Firma berechnet: SELECT company, SUM(sales) AS TOTALSALES Eine Spalte kann in einer GROUP BY-Klausel durch einen Spaltenkorrelationsnamen anstelle tatsächlicher Spaltennamen referenziert werden. Die nachfolgende Anweisung gruppiert unter Verwendung der ersten Spalte, COMPANY, repräsentiert durch den Spaltenkorrelationsnamen Co: SELECT company AS Co, SUM(sales) AS TOTALSALES Hinweis
Anwendung SELECT, wenn Aggregatfunktionen verwendet werden |