Équivalents de GROUPING SETS
Une clause GROUP BY qui utilise GROUPING SETS peut générer un jeu de résultats équivalent à celui généré par une opération UNION ALL sur plusieurs clauses GROUP BY simples. GROUPING SETS peut générer un résultat équivalent à celui généré par une simple opération GROUP BY, ROLLUP ou CUBE. Des combinaisons différentes d’opérations GROUPING SETS, ROLLUP ou CUBE peuvent générer des jeux de résultats équivalents.
Cette rubrique fournit des exemples d’équivalents de GROUPING SETS. Les abréviations suivantes sont utilisées dans les exemples :
Agg() : n’importe quelle fonction d’agrégation
(arg) : argument
Équivalents GROUPING SETS de UNION ALL
Spécifier GROUPING SETS (<jeu de regroupement> [,...n ]) comme la liste GROUP BY équivaut à effectuer une opération UNION ALL sur des requêtes ayant chacune l'un des jeux de regroupement défini comme liste GROUP BY. Les agrégats sur des nombres à virgule flottante peuvent retourner des résultats légèrement différents.
Les instructions suivantes sont équivalentes :
|
|
Équivalents GROUPING SETS d’une opération GROUP BY simple
Les clauses suivantes retournent les mêmes totaux globaux :
|
|
Les clauses suivantes retournent les mêmes jeux simples :
|
|
Équivalents ROLLUP de GROUPING SETS
GROUP BY ROLLUP (<liste d’éléments composites>) avec les dimensions n dans la liste d'entrée est équivalent au GROUPING SETS dont tous les préfixes (n+1) de la liste d'entrée sont définis comme GROUPING SETS.
Les clauses suivantes sont équivalentes :
|
|
Équivalents CUBE de GROUPING SETS
GROUP BY CUBE (<liste d’éléments composites>) avec les dimensions n dans la liste d’entrée est équivalent à GROUPING SETS dont le jeu complet (2 combinaisons n des dimensions de la liste d'entrée) dans la liste d’entrée est défini comme GROUPING SETS.
Les clauses suivantes sont équivalentes :
|
|
Les clauses suivantes sont équivalentes :
|
|
Colonnes composites dans ROLLUP comprenant un jeu de regroupement à l'intérieur d'un ROLLUP
Les clauses suivantes sont équivalentes :
|
|
|
Colonnes composites dans CUBE comportant un jeu de regroupement à l’intérieur d’un CUBE
Les clauses suivantes sont équivalentes :
|
|
|
GROUP BY comportant des clauses GROUPING SETS, ROLLUP ou CUBE
Les clauses suivantes sont équivalentes :
|
|
Les clauses suivantes sont équivalentes :
|
|
Les clauses suivantes sont équivalentes :
|
|
ROLLUP inclus dans une liste GROUPING SETS
Les clauses suivantes sont équivalentes :
|
|
ROLLUP inclus dans un GROUPING SET
Les clauses suivantes sont équivalentes :
|
|