Partilhar via


GROUPING (Transact-SQL)

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 for especificado.

Ícone de vínculo de tópico Convenções de sintaxe Transact-SQL

Sintaxe

GROUPING ( <column_expression> )

Argumentos

  • <expressão de coluna >
    É 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. A função GROUPING é aplicada à coluna SalesQuota.

USE AdventureWorks2012;
GO
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.

Aqui está 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)

Consulte também

Referência

GROUPING_ID (Transact-SQL)

GROUP BY (Transact-SQL)