Partilhar via


AGRUPAMENTO (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Indica se uma expressão de coluna especificada numa lista GROUP BY é agregada ou não. O AGRUPAMENTO devolve 1 para o agregado ou 0 para não agregado no conjunto de resultados. O AGRUPAMENTO só pode ser usado nas cláusulas SELECT <> select list, HAVING e ORDER BY quando GROUP BY é especificado.

Transact-SQL convenções de sintaxe

Sintaxe

GROUPING ( <column_expression> )  

Arguments

<column_expression>
É uma coluna ou uma expressão que contém uma coluna numa cláusula GROUP BY .

Tipos de devolução

tinyint

Observações

O AGRUPAMENTO é usado para distinguir os valores nulos que são devolvidos por ROLLUP, CUBE ou GROUPING SETS dos valores nulos padrão. O NULL devolvido como resultado de uma operação ROLLUP, CUBE ou GROUPING SETS é um uso especial de NULL. Isto funciona como um marcador de coluna no conjunto de resultados e significa todos.

Examples

O exemplo seguinte agrupa SalesQuota e agrega SaleYTD montantes na base de dados AdventureWorks2025. A GROUPING função é aplicada à SalesQuota coluna.

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 sob SalesQuota. A primeira NULL representa o grupo dos valores nulos desta coluna na tabela. A segunda NULL está na linha de resumo adicionada pela operação ROLLUP. A linha de resumo mostra os TotalSalesYTD valores para todos SalesQuota os grupos e é indicada por 1 na Grouping coluna.

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)

Ver também

GROUPING_ID (Transact-SQL)
AGRUPAR POR (Transact-SQL)