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

BITMAP_OR_COUNT

Описание​

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

Синтаксис​

BITMAP_OR_COUNT(<bitmap1>, <bitmap2>, ..., <bitmapN>)

Параметры​

ПараметрОписание
<bitmap1>Первый Bitmap
<bitmap2>Второй Bitmap
......
<bitmapN>N-й Bitmap

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

Количество элементов в объединении нескольких Bitmap.

Примеры​

Чтобы вычислить количество элементов в объединении непустого Bitmap и пустого Bitmap:

select bitmap_or_count(bitmap_from_string('1,2,3'), bitmap_empty()) res;

Результат:

+------+
| res |
+------+
| 3 |
+------+

Чтобы вычислить количество элементов в объединении двух одинаковых Bitmap:

select bitmap_or_count(bitmap_from_string('1,2,3'), bitmap_from_string('1,2,3')) res;

Результат:

+------+
| res |
+------+
| 3 |
+------+

Чтобы вычислить количество элементов в объединении двух разных Bitmap:

select bitmap_or_count(bitmap_from_string('1,2,3'), bitmap_from_string('3,4,5')) res;

Результат:

+------+
| res |
+------+
| 5 |
+------+

Чтобы вычислить количество элементов в объединении нескольких Bitmap, включая пустой Bitmap:

select bitmap_or_count(bitmap_from_string('1,2,3'), bitmap_from_string('3,4,5'), to_bitmap(100), bitmap_empty()) res;

Результат:

+------+
| res |
+------+
| 6 |
+------+

Чтобы вычислить количество элементов в объединении нескольких Bitmap, включая значение NULL:

select bitmap_or_count(bitmap_from_string('1,2,3'), bitmap_from_string('3,4,5'), to_bitmap(100), NULL) res;

Результат:

+------+
| res |
+------+
| 6 |
+------+