Aller au contenu

Renvoie un masque de bits indiquant quelles expressions GROUP BY ne sont pas incluses dans l’ensemble de regroupement en cours. Les bits sont attribués de sorte que l’argument le plus à droite corresponde au bit de poids faible ; chaque bit vaut 0 si l’expression correspondante est incluse dans les critères de regroupement de l’ensemble de regroupement qui génère la ligne de résultat en cours, et 1 si elle n’y est pas incluse.

GROUPING ( expr [, expr, ...] )

Éléments des ensembles de regroupement.

UInt32.

select a, b, grouping(a), grouping(b), grouping(a,b), grouping(b,a) from t group by grouping sets ((a,b),(a),(b), ()) ;
┌──────┬──────┬─────────────┬─────────────┬────────────────┬────────────────┐
│ a │ b │ grouping(a) │ grouping(b) │ grouping(a, b) │ grouping(b, a) │
├──────┼──────┼─────────────┼─────────────┼────────────────┼────────────────┤
│ NULL │ A │ 1 │ 0 │ 2 │ 1 │
│ a │ NULL │ 0 │ 1 │ 1 │ 2 │
│ b │ A │ 0 │ 0 │ 0 │ 0 │
│ NULL │ NULL │ 1 │ 1 │ 3 │ 3 │
│ a │ A │ 0 │ 0 │ 0 │ 0 │
│ b │ B │ 0 │ 0 │ 0 │ 0 │
│ b │ NULL │ 0 │ 1 │ 1 │ 2 │
│ a │ B │ 0 │ 0 │ 0 │ 0 │
│ NULL │ B │ 1 │ 0 │ 2 │ 1 │
└──────┴──────┴─────────────┴─────────────┴────────────────┴────────────────┘