次の方法で共有


grouping_id 関数

適用対象:「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

列のセットに関するグループ化のレベルを返します。

構文

grouping_id( [col1 [, ...] ] )

引数

  • colN: GROUPING SETROLLUP、または CUBE で識別される列参照。

戻り値

BIGINT 値。

この関数は、複数の列のそれぞれにビット ベクター形式のビットを割り当てることで、複数の列に対する grouping 関数を 1 つにまとめたものです。 col1 は、最上位のビットによって表されます。 対応する列の小計を計算する行の場合に、ビットが 1 に設定されます。

引数を指定しなかった場合、GROUPING SETCUBE、または 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