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.
Convenciones de sintaxis de Transact-SQL
Sintaxis
GROUPING ( column_name )
Argumentos
- column_name
Es una columna de una cláusula GROUP BY en la que se comprueban los valores NULL de CUBE o ROLLUP.
Tipos de valor devueltos
tinyint
Notas
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".
Ejemplos
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 |
|
Vea también
Referencia
Funciones de agregado (Transact-SQL)
SELECT (Transact-SQL)