Equivalentes GROUPING SETS
Uma cláusula GROUP BY que use GROUPING SETS pode gerar um conjunto de resultados equivalente ao gerado por um UNION ALL de múltiplas cláusulas simples GROUP BY. GROUPING SETS pode gerar um resultado equivalente ao gerado por uma operação simples GROUP BY, ROLLUP ou CUBE. Combinações diferentes de GROUPING SETS, ROLLUP ou CUBO podem gerar conjuntos de resultados equivalentes.
Este tópico oferece exemplos de equivalentes GROUPING SETS. As seguintes abreviações são usadas nos exemplos:
Agg(): qualquer função de agregação
(arg): um argumento
GROUPING SETS equivalentes a UNION ALL
Especificar GROUPING SETS (<conjunto de agrupamento> [,...n ]) como a lista GROUP BY é equivalente a UNION ALL de consultas, cada uma das quais com os conjuntos de agrupamentos como sua lista GROUP BY. Agregar em números de ponto flutuante pode retornar resultados ligeiramente diferentes.
As seguintes instruções são equivalentes:
|
|
GROUPING SETS equivalentes a um GROUP BY simples
As cláusulas seguintes retornam os mesmos totais gerais:
|
|
As cláusulas seguintes retornam os mesmos conjuntos únicos:
|
|
Equivalentes a GROUPING SETS ROLLUP
GROUP BY ROLLUP (<lista de elementos compostos>) com dimensões n na lista de entrada é equivalente a GROUPING SETS, com todos os prefixos (n+1) de sua lista de entrada como seus GROUPING SETS.
As cláusulas seguintes são equivalentes:
|
|
Equivalentes a GROUPING SETS CUBE
GROUP BY CUBE (<lista de elementos compostos>) com dimensões n na lista de entrada é equivalente a GROUPING SETS, com todo o conjunto (2n combinações de dimensões na lista de entrada) de sua lista de entrada como seus GROUPING SETS.
As cláusulas seguintes são equivalentes:
|
|
As cláusulas seguintes são equivalentes:
|
|
Colunas compostas em ROLLUP que incluam um conjunto de agrupamentos dentro de um ROLLUP
As cláusulas seguintes são equivalentes:
|
|
|
Colunas compostas em CUBE que incluam um conjunto de agrupamentos dentro de um CUBE
As cláusulas seguintes são equivalentes:
|
|
|
GROUP BY que contenha GROUPING SETS, ROLLUP ou CUBE
As cláusulas seguintes são equivalentes:
|
|
As cláusulas seguintes são equivalentes:
|
|
As cláusulas seguintes são equivalentes:
|
|
ROLLUP incluído em uma lista de GROUPING SETS
As cláusulas seguintes são equivalentes:
|
|
ROLLUP incluído dentro de um conjunto de agrupamentos
As cláusulas seguintes são equivalentes:
|
|
Consulte também