Funkce grouping_id
Platí pro: Databricks SQL Databricks Runtime
Vrátí úroveň seskupení pro sadu sloupců.
Syntaxe
grouping_id( [col1 [, ...] ] )
Argumenty
colN
: Odkaz na sloupec identifikovaný v znaméněGROUPING SET
,ROLLUP
neboCUBE
.
Návraty
VELKÝINT.
Funkce kombinuje seskupovací funkci pro několik sloupců do jednoho tím, že každý sloupec přiřazuje bit v bitovém vektoru.
Je col1
reprezentován nejvyšším bitem pořadí.
Bit je nastaven na hodnotu 1, pokud řádek vypočítá mezisoučty pro odpovídající sloupec.
Zadání argumentu není ekvivalentní k určení všech sloupců uvedených v GROUPING SET
sadě , CUBE
nebo ROLLUP
.
Příklady
> 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