コンテンツにスキップ

現在のグループ化セットに含まれていない GROUP BY 式を示すビットマスクを返します。ビットは、最も右側の引数が最下位ビットに対応するように割り当てられます。各ビットは、対応する式が現在の結果行を生成したグループ化セットのグループ化条件に含まれている場合は0、含まれていない場合は1になります。

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

グループ化セットの項目。

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