Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Агрегатная функция
Область применения:
Databricks SQL
Databricks Runtime 13.3 LTS и выше
Возвращает битовое OR значение всех битовых позиций от 0 до 32767 в группе в виде BINARY.
Функция обычно используется для подсчета количества небольших наборов различных целых чисел в сочетании с функцией bitmap_bucket_number(), а также функциями bitmap_count()и bitmap_bit_position().
Чтобы агрегировать растровые изображения в виде целочисленных числовых значений, используйте агрегатную функцию bit_or( ).
Синтаксис
bitmap_construct_agg(expr) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как функцию окна с помощью предложения OVER.
Аргументы
-
expr: целочисленное числовое выражение от 0 до 32767, представляющее битовое положение в строкеBINARY. -
cond: необязательное логическое выражение для фильтрации строк, используемых для агрегирования.
Возвраты
Объект BINARY длиной 4096.
Примеры
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val))) FROM VALUES(0) AS T(val);
01
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val))) FROM VALUES(15) AS T(val);
0080
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val)))
FROM VALUES(1), (3), (7), (15), (31) AS T(val);
8A800080
-- Count the number of distinct values
> SELECT sum(num_distinct) AS num_distinct
FROM (SELECT bitmap_bucket_number(val),
bitmap_count(bitmap_construct_agg(bitmap_bit_position(val)))
FROM VALUES(1), (2), (1), (-1), (5), (0), (5) AS t(val)
GROUP BY ALL) AS distinct_vals_by_bucket(bucket, num_distinct)
5