grouping_id
関数
適用対象: Databricks SQL Databricks Runtime
列のセットに関するグループ化のレベルを返します。
構文
grouping_id( [col1 [, ...] ] )
引数
colN
:GROUPING SET
、ROLLUP
、またはCUBE
で識別される列参照。
戻り値
BIGINT 値。
この関数は、複数の列のそれぞれにビット ベクター形式のビットを割り当てることで、複数の列に対する grouping 関数を 1 つにまとめたものです。
col1
は、最上位のビットによって表されます。
対応する列の小計を計算する行の場合に、ビットが 1 に設定されます。
引数を指定しなかった場合、GROUPING SET
、CUBE
、または ROLLUP
にリストされたすべての列を指定したと見なされます。
例
> SELECT name, age, grouping_id(name, age),
conv(cast(grouping_id(name, age) AS STRING), 10, 2),
avg(height)
FROM VALUES (2, 'Alice', 165), (5, 'Bob', 180) people(age, name, height)
GROUP BY cube(name, age)
Alice 2 0 0 165.0
Alice NULL 1 1 165.0
NULL 2 2 10 165.0
NULL NULL 3 11 172.5
Bob NULL 1 1 180.0
Bob 5 0 0 180.0
NULL 5 2 10 180.0