GROUPING (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Ponto de extremidade de análises SQL no Microsoft Fabric Warehouse no Microsoft Fabric
Indica se uma expressão de coluna especificada em uma lista GROUP BY é agregada ou não. GROUPING retorna 1 para agregada ou 0 para não agregada no conjunto de resultados. GROUPING pode ser usado apenas na lista SELECT <select>, nas cláusulas HAVING e ORDER BY, quando GROUP BY é especificado.
Convenções de sintaxe de Transact-SQL
Sintaxe
GROUPING ( <column_expression> )
Argumentos
<column_expression>
É uma coluna ou uma expressão que contém uma coluna em uma cláusula GROUP BY.
Tipos de retorno
tinyint
Comentários
GROUPING é usado para distinguir os valores nulos retornados por ROLLUP, CUBE ou GROUPING SETS dos valores nulos padrão. O NULL retornado como resultado de uma operação ROLLUP, CUBE ou GROUPING SETS é um uso especial de NULL. Isto atua como um espaço reservado de coluna no conjunto de resultados e significa tudo.
Exemplos
O exemplo a seguir agrupa SalesQuota
e agrega quantias de SaleYTD
no banco de dados AdventureWorks2022. A função GROUPING
é aplicada à coluna SalesQuota
.
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO
O conjunto de resultados mostra dois valores nulos em SalesQuota
. O primeiro NULL
representa o grupo de valores nulos desta coluna na tabela. O segundo NULL
está na linha de resumo somada pela operação ROLLUP. A linha de resumo mostra as quantidades de TotalSalesYTD
para todos os grupos SalesQuota
e é indicada por 1
na coluna Grouping
.
Veja a seguir o conjunto de resultados.
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)