Equivalentes de GROUPING SETS
Una cláusula GROUP BY que utiliza GROUPING SETS puede generar un conjunto de resultados equivalente al generado por una cláusula UNION ALL o varias cláusulas GROUP BY simples. GROUPING SETS puede generar un resultado equivalente al generado por una simple operación GROUP BY, ROLLUP o CUBE. Diferentes combinaciones de GROUPING SETS, ROLLUP o CUBE pueden generar conjuntos de resultados equivalentes.
En este tema se proporcionan ejemplos de equivalencias a GROUPING SETS. En los ejemplos se utilizan las siguientes abreviaturas:
Agg(): cualquier función de agregado
(arg): un argumento
Equivalente GROUPING SETS a UNION ALL
Especificar GROUPING SETS (<conjunto de agrupamiento> [,...n ]) como lista GROUP BY es equivalente a una UNION ALL de las consultas, cada una con uno de los conjuntos de agrupamiento establecido como su lista GROUP BY. El uso de agregados con números en punto flotante podría dar lugar a resultados ligeramente diferentes.
Las siguientes instrucciones son equivalentes:
|
|
Equivalente GROUPING SETS de un GROUP BY simple
Las cláusulas siguientes devuelven los mismos totales generales:
|
|
Las cláusulas siguientes devuelven los mismos conjuntos únicos:
|
|
Equivalentes de GROUPING SETS ROLLUP
GROUP BY ROLLUP (<lista de elementos compuesta>) con n dimensiones en la lista de entrada es equivalente a GROUPING SETS, con todos los prefijos (n+1) de su lista de entrada como sus GROUPING SETS.
Las siguientes cláusulas son equivalentes:
|
|
Equivalentes de GROUPING SETS CUBE
GROUP BY CUBE (<lista de elementos compuesta>) con n dimensiones en la lista de entrada es equivalente a GROUPING SETS, con el conjunto completo (2n combinaciones de las dimensiones en la lista de entrada) de su lista de entrada como sus GROUPING SETS.
Las siguientes cláusulas son equivalentes:
|
|
Las siguientes cláusulas son equivalentes:
|
|
Columnas compuestas en ROLLUP que incluyen un conjunto de agrupamiento dentro de un ROLLUP
Las siguientes cláusulas son equivalentes:
|
|
|
Columnas compuestas en CUBE que incluyen un conjunto de agrupación dentro de un CUBE
Las siguientes cláusulas son equivalentes:
|
|
|
GROUP BY que contiene GROUPING SETS, ROLLUP o CUBE
Las siguientes cláusulas son equivalentes:
|
|
Las siguientes cláusulas son equivalentes:
|
|
Las siguientes cláusulas son equivalentes:
|
|
ROLLUP incluido en una lista GROUPING SETS
Las siguientes cláusulas son equivalentes:
|
|
ROLLUP incluido en el interior de un conjunto de agrupamiento
Las siguientes cláusulas son equivalentes:
|
|