GROUPING Aggregatfunktionen
Bei Verwendung in Verbindung mit Gruppierungssätzen und Supergruppen gibt die GROUPING-Funktion einen Wert zurück, der angibt, ob eine in einem GROUP BY-Ergebnis zurückgegebene Zeile eine Zeile ist, die von einem Gruppierungssatz generiert wurde, der die durch den Ausdruck dargestellte Spalte ausschließt.
Das Schema ist SYSIBM.
- ausdruck
Ein Ausdruck, der mit einem Gruppierungsausdruck aus der GROUP BY-Klausel derselben Unterauswahl übereinstimmt.
- 1
- Der Wert des Ausdrucks in der zurückgegebenen Zeile ist ein Nullwert, und die Zeile wurde von der Supergruppe generiert. Diese erzeugte Zeile kann verwendet werden, um Zwischensummenwerte für den Ausdruck "GROUP BY" bereitzustellen.
- 0
- Der Wert ist ein anderer als der zuvor aufgeführte Wert.
Beispiel
SELECT SALES_DATE, SALES_PERSON,
SUM(SALES) AS UNITS_SOLD,
GROUPING(SALES_DATE) AS DATE_GROUP,
GROUPING(SALES_PERSON) AS SALES_GROUP
FROM SALES
GROUP BY CUBE (SALES_DATE, SALES_PERSON)
ORDER BY SALES_DATE, SALES_PERSON;Die vorherige Abfrage liefert Ergebnisse, die den folgenden ähneln:
SALES_DATE SALES_PERSON UNITS_SOLD DATE_GROUP SALES_GROUP
---------- --------------- ----------- ----------- -----------
12/31/1995 GOUNOT 1 0 0
12/31/1995 LEE 6 0 0
12/31/1995 LUCCHESSI 1 0 0
12/31/1995 - 8 0 1
03/29/1996 GOUNOT 11 0 0
03/29/1996 LEE 12 0 0
03/29/1996 LUCCHESSI 4 0 0
03/29/1996 - 27 0 1
03/30/1996 GOUNOT 21 0 0
03/30/1996 LEE 21 0 0
03/30/1996 LUCCHESSI 4 0 0
03/30/1996 - 46 0 1
03/31/1996 GOUNOT 3 0 0
03/31/1996 LEE 27 0 0
03/31/1996 LUCCHESSI 1 0 0
03/31/1996 - 31 0 1
04/01/1996 GOUNOT 14 0 0
04/01/1996 LEE 25 0 0
04/01/1996 LUCCHESSI 4 0 0
04/01/1996 - 43 0 1
- GOUNOT 50 1 0
- LEE 91 1 0
- LUCCHESSI 14 1 0
- - 155 1 1Eine Anwendung kann eine SALES_DATE-Zwischensummenzeile identifizieren, da der Wert von DATE_GROUP 0 und der Wert von SALES_GROUP 1 ist. Eine SALES_PERSON -Zwischensummenzeile kann identifiziert werden, da der Wert von DATE_GROUP 1 und der Wert von SALES_GROUP 0 ist. Eine Zeile mit der Gesamtsumme kann durch den Wert 1 für DATE_GROUP und SALES_GROUP identifiziert werden.
