Die GROUP-Klausel (
group_clause) gibt eine Gruppierung einer Ergebnistabelle (siehe Ergebnistabellenname) an.Syntax
<group_clause> ::= GROUP BY <expression>,...
expressionErläuterung
Jeder in der GROUP-Klausel angegebene Spaltenname muß einen
result_column_name in den selektierten Spalten der QUERY-Spezifikation bezeichnen oder eindeutig eine Spalte aus den der QUERY-Spezifikation zugrundeliegenden Tabellen bezeichnen. Gegebenenfalls ist der Spaltenname mit dem Tabellenbezeichner zu qualifizieren.Die GROUP-Klausel erlaubt die Anwendung der Funktionen
SUM, AVG, MAX/MIN, COUNT, STDDEV und VARIANCE nicht nur für ganze Ergebnistabellen, sondern für Gruppen von Zeilen innerhalb einer Ergebnistabelle. Dabei wird eine Gruppe durch die in GROUP BY angegebenen Gruppierspalten definiert. Alle Zeilen einer Gruppe haben in den Gruppierspalten dieselben Werte. Zeilen, die in einer Gruppierspalte den NULL-Wert enthalten, werden zu einer Gruppe zusammengefaßt. Dasselbe gilt für den Spezial-NULL-Wert.Die Verwendung von GROUP BY führt dazu, daß für jede Gruppe eine Zeile in der Ergebnistabelle gebildet wird. Die selektierten Spalten in der QUERY-Spezifikation dürfen deshalb nur die Gruppierspalten, Operationen auf den Gruppierspalten und
Ausdrücke(expression) enthalten, in denen die Funktionen SUM, AVG, MAX/MIN, COUNT, STDDEV und VARIANCE verwendet werden.Wenn es keine Zeile gibt, die die in der
WHERE-Klausel angegebenen Bedingungen erfüllt, und eine GROUP-Klausel angegeben wurde, ist die Ergebnistabelle leer.In einer GROUP-Klausel ist die Angabe
skalarer Subqueries nicht erlaubt.Siehe auch:
Restriktionen