Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Aggregatfunktion, die die Ausgabe einer weiteren Spalte mit dem Wert 1 bewirkt, wenn die Zeile durch den CUBE- oder den ROLLUP-Operator hinzugefügt wird. Ist die Zeile nicht das Ergebnis des CUBE- oder ROLLUP-Operators, wird der Wert 0 ausgegeben.
Die Gruppierung ist nur in der zu einer GROUP BY-Klausel zugeordneten Auswahlliste zulässig, die den CUBE- oder den ROLLUP-Operator enthält.
Transact-SQL-Syntaxkonventionen
Syntax
GROUPING ( column_name )
Argumente
- column_name
Ist eine Spalte in einer GROUP BY-Klausel, die nach NULL-Werten für CUBE oder ROLLUP testet.
Rückgabetypen
tinyint
Hinweise
Die Gruppierung wird verwendet, um die von CUBE und ROLLUP zurückgegebenen NULL-Werte von NULL-Standardwerten zu unterscheiden. Der Wert NULL, der als Ergebnis eines CUBE- oder ROLLUP-Vorgangs zurückgegeben wird, stellt eine besondere Verwendung von NULL dar. Der Wert fungiert als Spaltenplatzhalter im Resultset und bedeutet alle.
Beispiele
Im folgenden Beispiel werden SalesQuota gruppiert und SaleYTD-Gesamtsummen zusammengestellt. Die GROUPING-Funktion wird auf die SalesQuota-Spalte angewendet.
USE AdventureWorks;
GO
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO
Das Resultset zeigt zwei NULL-Werte unter SalesQuota an. Der erste NULL-Wert stellt die Gruppe der NULL-Werte aus dieser Spalte in der Tabelle dar. Der zweite NULL-Wert befindet sich in der Summenzeile, die vom ROLLUP-Vorgang hinzugefügt wurde. Die Summenzeile enthält die TotalSalesYTD-Gesamtsummen für alle SalesQuota-Gruppen und ist durch 1 in der Grouping-Spalte gekennzeichnet.
Dies ist das Resultset.
SalesQuota TotalSalesYTD Grouping
--------- ------------- --------
NULL 1533087.5999 0
250000.00 33461260.59 0
300000.00 9299677.9445 0
NULL 44294026.1344 1
(4 row(s) affected)
Änderungsverlauf
| Version | Verlauf |
|---|---|
12. Dezember 2006 |
|
Siehe auch
Verweis
Aggregatfunktionen (Transact-SQL)
SELECT (Transact-SQL)