Перейти к содержимому
Последнее обновление

BITMAP_UNION_COUNT

Описание​

Вычисляет объединение входных Bitmap и возвращает его мощность.

Синтаксис​

BITMAP_UNION_COUNT(<expr>)

Аргументы​

АргументОписание
<expr>Тип данных с поддержкой Bitmap

Возвращаемое значение​

Возвращает размер объединения Bitmap, то есть количество уникальных элементов. Если в группе нет допустимых данных, возвращает 0.

Пример​

-- setup
CREATE TABLE pv_bitmap (
dt INT,
page INT,
user_id BITMAP
) DISTRIBUTED BY HASH(dt) BUCKETS 1
PROPERTIES ("replication_num" = "1");
INSERT INTO pv_bitmap VALUES
(1, 100, to_bitmap(100)),
(1, 100, to_bitmap(200)),
(1, 100, to_bitmap(300)),
(2, 200, to_bitmap(300));
select bitmap_union_count(user_id) from pv_bitmap;

Подсчитывает количество уникальных значений user_id.

+-----------------------------+
| bitmap_union_count(user_id) |
+-----------------------------+
| 3 |
+-----------------------------+
select bitmap_union_count(user_id) from pv_bitmap where user_id is null;
+-----------------------------+
| bitmap_union_count(user_id) |
+-----------------------------+
| 0 |
+-----------------------------+