GROUPING (Transact-SQL)

Es una función de agregado que genera como salida una columna adicional con el valor 1 si la fila se agrega mediante el operador CUBE o ROLLUP, o el valor 0 cuando la fila no es el resultado de CUBE o ROLLUP.

La agrupación sólo se permite en la lista de selección asociada a una cláusula GROUP BY que contenga el operador CUBE o ROLLUP.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL


GROUPING ( column_name ) 

column_name

Es una columna de una cláusula GROUP BY en la que se comprueban los valores NULL de CUBE o ROLLUP.

El agrupamiento se utiliza para distinguir entre los valores NULL devueltos por CUBE o ROLLUP y los valores NULL normales. El valor NULL devuelto como resultado de una operación CUBE o ROLLUP 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. La función GROUPING se aplica a la columna SalesQuota.

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

Éste es el 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)

Historial de cambios

Versión Historial

12 de diciembre de 2006

Contenido modificado:
  • Se ha quitado la cláusula OVER.

Adiciones de comunidad

AGREGAR
Mostrar: