TechNet
Exportar (0) Imprimir
Expandir todo

GROUPING (Transact-SQL)

 

**ESTE TEMA SE APLICA A:** ![](../Image/Applies%20to/yes.png)SQL Server \(a partir de 2008\) ![](../Image/Applies%20to/yes.png)Base de datos SQL de Azure ![](../Image/Applies%20to/no.png)Almacenamiento de datos SQL de Azure ![](../Image/Applies%20to/no.png)Almacenamiento de datos paralelos

Indica si una expresión de columna especificada en una lista GROUP BY es agregada o no. GROUPING devuelve 1 para agregado y 0 para no agregado, en el conjunto de resultados. GROUPING solo se puede usar en la lista de SELECT <selección>, cláusulas HAVING y ORDER BY cuando se especifica GROUP BY.

Se aplica a: de SQL Server (SQL Server 2008 a la versión actual), Base de datos SQL de Azure.

Topic link icon Convenciones de sintaxis de Transact-SQL

  
GROUPING ( <column_expression> )  

<column_expression>
Es una columna o una expresión que contiene una columna en una cláusula GROUP BY.

tinyint

GROUPING se utiliza para distinguir entre los valores NULL devueltos por ROLLUP, CUBE o GROUPING SETS y los valores NULL normales. El valor NULL devuelto como resultado de una operación ROLLUP, CUBE o GROUPING SETS es un uso especial de NULL. Actúa como marcador de posición de columna en el conjunto de resultados y significa "todos".

En el ejemplo siguiente se agrupa SalesQuota y se agregan las cantidades de SaleYTD en la base de datos AdventureWorks2012. La función GROUPING se aplica a la columna SalesQuota.

SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'  
FROM Sales.SalesPerson  
GROUP BY SalesQuota WITH ROLLUP;  
GO  

El conjunto de resultados muestra dos valores NULL bajo SalesQuota. El primer valor NULL representa el grupo de valores NULL de esta columna en la tabla. El segundo valor NULL se encuentra en la fila de resumen que agrega la operación ROLLUP. La fila de resumen indica las cantidades de TotalSalesYTD para todos los grupos SalesQuota, como señala el valor 1 en la columna Grouping.

El conjunto de resultados es el siguiente.

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)

GROUPING_ID (Transact-SQL)
GROUP BY (Transact-SQL)

Adiciones de comunidad

Mostrar:
© 2016 Microsoft