grouping_id fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengembalikan tingkat pengelompokan untuk sekumpulan kolom.

Sintaks

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

Argumen

  • colN: Referensi kolom yang diidentifikasi dalam GROUPING SET, ROLLUP, atau CUBE.

Pengembalian

BIGINT.

Fungsi ini menggabungkan grouping fungsi untuk beberapa kolom menjadi satu dengan mengalokasikan setiap kolom sebagai bit dalam vektor bit. col1 diwakili oleh bit urutan tertinggi. Bit ditetapkan menjadi 1 jika baris menghitung subtotal untuk kolom yang bersangkutan.

Menentukan tidak ada argumen yang setara dengan menentukan semua kolom yang tercantum dalam GROUPING SET, CUBE, atau ROLLUP.

Contoh

> 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