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.
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Analytics-Endpunkt in Microsoft Fabric
Warehouse in Microsoft Fabric
Gibt an, ob ein angegebener Spaltenausdruck in einer GROUP BY-Liste aggregiert wird oder nicht. GROUPING gibt im Resultset 1 für aggregiert oder 0 für nicht aggregiert zurück. GROUPING kann nur in der SELECT-<Auswahlliste> sowie den Klauseln HAVING und ORDER BY verwendet werden, wenn GROUP BY angegeben wurde.
Transact-SQL-Syntaxkonventionen
Syntax
GROUPING ( <column_expression> )
Argumente
<column_expression>
Eine Spalte oder ein Ausdruck, der eine Spalte in einer GROUP BY-Klausel enthält.
Rückgabetypen
tinyint
Bemerkungen
GROUPING wird verwendet, um die von ROLLUP, CUBE oder GROUPING SETS zurückgegebenen NULL-Werte von NULL-Standardwerten zu unterscheiden. Der Wert NULL, der als Ergebnis eines ROLLUP, CUBE oder GROUPING SETS-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
-Beträge in der AdventureWorks2022-Datenbank aggregiert. Die GROUPING
-Funktion wird auf die SalesQuota
-Spalte angewendet.
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.
Hier sehen Sie das Ergebnis.
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)