grouping_id
函数
适用于: Databricks SQL Databricks Runtime
返回一组列的分组级别。
语法
grouping_id( [col1 [, ...] ] )
参数
colN
:在GROUPING SET
、ROLLUP
或CUBE
中标识的列引用。
返回
一个 BIGINT。
该函数通过在位向量中为每一列分配一个位来将多个列的 grouping 函数合并为一个。
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