Zum Inhalt springen

Gibt eine Bitmaske zurück, die anzeigt, welche GROUP BY-Ausdrücke nicht im aktuellen Gruppierungssatz enthalten sind. Die Bits werden so zugewiesen, dass das Argument ganz rechts dem niederwertigsten Bit entspricht. Jedes Bit ist 0, wenn der entsprechende Ausdruck in den Gruppierungskriterien des Gruppierungssatzes enthalten ist, der die aktuelle Ergebniszeile erzeugt, und 1, wenn er nicht enthalten ist.

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

Elemente der Gruppierungssätze.

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 │
└──────┴──────┴─────────────┴─────────────┴────────────────┴────────────────┘