> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Документация по функциям битмапов

# Функции битмапов

Битмапы можно создавать двумя способами. Первый — с помощью агрегатной функции groupBitmap с `-State`, второй — из объекта Array.

<div id="bitmapAnd">
  ## bitmapAnd
</div>

Добавленный в: v20.1.0

Вычисляет логическую операцию И (AND) для двух битмапов.

**Синтаксис**

```sql theme={null}
bitmapAnd(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает битмап, содержащий биты, установленные в обоих входных битмапах [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapAnd(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res─┐
│ [3] │
└─────┘
```

<div id="bitmapAndCardinality">
  ## bitmapAndCardinality
</div>

Добавленный в: v20.1.0

Возвращает мощность результата логического И (AND) двух битмапов.

**Синтаксис**

```sql theme={null}
bitmapAndCardinality(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает число установленных битов в пересечении двух битмапов [`UInt64`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapAndCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   1 │
└─────┘
```

<div id="bitmapAndnot">
  ## bitmapAndnot
</div>

Добавленный в: v20.1.0

Вычисляет разность множеств A AND-NOT B для двух битмапов.

**Синтаксис**

```sql theme={null}
bitmapAndnot(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает битмап, содержащий биты, установленные в первом битмапе, но не во втором [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res────┐
│ [1, 2] │
└────────┘
```

<div id="bitmapAndnotCardinality">
  ## bitmapAndnotCardinality
</div>

Добавленный в: v20.1.0

Возвращает мощность результата операции AND-NOT над двумя битмапами.

**Синтаксис**

```sql theme={null}
bitmapAndnotCardinality(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает количество установленных битов в результате `bitmap1 AND-NOT bitmap2` [`UInt64`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapAndnotCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   2 │
└─────┘
```

<div id="bitmapBuild">
  ## bitmapBuild
</div>

Добавленный в: v20.1.0

Создаёт битмап из массива целых чисел. Поддерживаются знаковые и беззнаковые целые числа размером 8, 16, 32 или 64 бит. Это функция, обратная [`bitmapToArray`](/docs/ru/reference/functions/regular-functions/bitmap-functions#bitmapToArray).

**Синтаксис**

```sql theme={null}
bitmapBuild(array)
```

**Аргументы**

* `array` — Массив целых чисел. [`Array((U)Int*)`](/docs/ru/reference/data-types/array)

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

Возвращает битмап из переданного массива [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res);
```

```response title=Response theme={null}
┌─res─┬─toTypeName(bitmapBuild([1, 2, 3, 4, 5]))─────┐
│     │ AggregateFunction(groupBitmap, UInt8)        │
└─────┴──────────────────────────────────────────────┘
```

**Знаковый битмап**

```sql title=Query theme={null}
SELECT bitmapBuild([-128, -1]::Array(Int8)) AS res, toTypeName(res);
```

```response title=Response theme={null}
┌─res─┬─toTypeName(bitmapBuild([-128, -1]::Array(Int8)))─┐
│     │ AggregateFunction(groupBitmap, Int8)             │
└─────┴──────────────────────────────────────────────────┘
```

<div id="bitmapCardinality">
  ## bitmapCardinality
</div>

Добавленный в: v20.1.0

Возвращает количество установленных битов (мощность) в битмапе.

**Синтаксис**

```sql theme={null}
bitmapCardinality(bitmap)
```

**Аргументы**

* `bitmap` — объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает количество установленных битов в битмапе [`UInt64`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapCardinality(bitmapBuild([1, 3, 3, 5, 7, 7])) AS res
```

```response title=Response theme={null}
┌─res─┐
│   4 │
└─────┘
```

<div id="bitmapContains">
  ## bitmapContains
</div>

Добавленный в: v20.1.0

Проверяет, содержит ли битмап указанный элемент. Значение сравнивается как беззнаковое целое число типа элемента битмапа. Для знаковых битмапов отрицательный элемент соответствует своему беззнаковому аналогу (например, значение `Int8` `-1` соответствует `255`).

**Синтаксис**

```sql theme={null}
bitmapContains(bitmap, value)
```

**Аргументы**

* `bitmap` — объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `value` — Проверяемый элемент. [(U)Int8/16/32/64](/docs/ru/reference/data-types/int-uint)

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

Возвращает `1`, если битмап содержит указанное значение, иначе — `0` [`UInt8`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapContains(bitmapBuild([1, 2, 3]), 2) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

**Знаковый битмап**

```sql title=Query theme={null}
SELECT bitmapContains(bitmapBuild([-1]::Array(Int8)), 255) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

<div id="bitmapHasAll">
  ## bitmapHasAll
</div>

Добавленный в: v20.1.0

Проверяет, содержит ли первый битмап все установленные биты из второго битмапа.

**Синтаксис**

```sql theme={null}
bitmapHasAll(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает `1`, если все установленные биты второго битмапа содержатся в первом битмапе; в противном случае — `0` [`UInt8`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapHasAll(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

<div id="bitmapHasAny">
  ## bitmapHasAny
</div>

Добавленный в: v20.1.0

Проверяет, содержит ли первый битмап какие-либо установленные биты из второго битмапа.

**Синтаксис**

```sql theme={null}
bitmapHasAny(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает `1`, если хотя бы один бит второго битмапа есть в первом битмапе, иначе — `0` [`UInt8`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapHasAny(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

<div id="bitmapMax">
  ## bitmapMax
</div>

Добавленный в: v20.1.0

Возвращает наибольший элемент битмапа, интерпретируемый как беззнаковое целое число типа элемента битмапа. Для знаковых битмапов отрицательные значения рассматриваются как соответствующие им беззнаковые значения (например, значение `Int8` `-1` равно `255`). Возвращает `0`, если битмап пуст.

**Синтаксис**

```sql theme={null}
bitmapMax(bitmap)
```

**Аргументы**

* `bitmap` — объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает наибольший элемент в виде беззнакового значения типа элемента битмапа или `0`, если битмап пуст [`UInt64`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapMax(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   5 │
└─────┘
```

**Знаковый битмап**

```sql title=Query theme={null}
SELECT bitmapMax(bitmapBuild([-128, -1]::Array(Int8))) AS res;
```

```response title=Response theme={null}
┌─res─┐
│ 255 │
└─────┘
```

<div id="bitmapMin">
  ## bitmapMin
</div>

Добавлено в: v20.1.0

Возвращает наименьший элемент битмапа, интерпретируемый как беззнаковое целое число типа элементов битмапа. Для знаковых битмапов отрицательные значения рассматриваются как соответствующие им беззнаковые значения (например, значение `-128` типа `Int8` интерпретируется как `128`). Если битмап пуст, возвращает `UINT32_MAX` (`UINT64_MAX`, если тип элементов битмапа шире 32 бит).

**Синтаксис**

```sql theme={null}
bitmapMin(bitmap)
```

**Аргументы**

* `bitmap` — объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает наименьший элемент в виде беззнакового значения типа элемента битмапа или `UINT32_MAX`/`UINT64_MAX`, если битмап пуст [`UInt64`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapMin(bitmapBuild([3, 5, 2, 6])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   2 │
└─────┘
```

**Знаковый битмап**

```sql title=Query theme={null}
SELECT bitmapMin(bitmapBuild([-128, -1]::Array(Int8))) AS res;
```

```response title=Response theme={null}
┌─res─┐
│ 128 │
└─────┘
```

<div id="bitmapOr">
  ## bitmapOr
</div>

Добавленный в: v20.1.0

Вычисляет логическое объединение (OR) двух битмапов.

**Синтаксис**

```sql theme={null}
bitmapOr(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает битмап, содержащий биты, установленные хотя бы в одном из входных битмапов [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapOr(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res─────────────┐
│ [1, 2, 3, 4, 5] │
└─────────────────┘
```

<div id="bitmapOrCardinality">
  ## bitmapOrCardinality
</div>

Добавленный в: v20.1.0

Возвращает мощность результата логической операции OR для двух битмапов.

**Синтаксис**

```sql theme={null}
bitmapOrCardinality(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает число установленных битов в объединении двух битмапов [`UInt64`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapOrCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   5 │
└─────┘
```

<div id="bitmapSubsetInRange">
  ## bitmapSubsetInRange
</div>

Добавленный в: v20.1.0

Возвращает подмножество битмапа, содержащее элементы из диапазона значений `[start, end)`. Значения элементов сравниваются как беззнаковые целые числа типа элемента битмапа.

**Синтаксис**

```sql theme={null}
bitmapSubsetInRange(bitmap, start, end)
```

**Аргументы**

* `bitmap` — битмап, из которого извлекается подмножество. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `start` — начало диапазона (включительно). [`UInt*`](/docs/ru/reference/data-types/int-uint) - `end` — конец диапазона (исключая). [`UInt*`](/docs/ru/reference/data-types/int-uint)

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

Возвращает битмап, содержащий только элементы из указанного диапазона значений [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapSubsetInRange(bitmapBuild([1, 2, 3, 4, 5]), 2, 5)) AS res;
```

```response title=Response theme={null}
┌─res───────┐
│ [2, 3, 4] │
└───────────┘
```

<div id="bitmapSubsetLimit">
  ## bitmapSubsetLimit
</div>

Добавленный в: v20.1.0

Возвращает подмножество, содержащее не более `cardinality_limit` элементов со значениями, большими или равными `range_start`; выбираются наименьшие из таких значений в беззнаковом порядке.

**Синтаксис**

```sql theme={null}
bitmapSubsetLimit(bitmap, range_start, cardinality_limit)
```

**Аргументы**

* `bitmap` — объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `range_start` — начало диапазона (включительно). [`UInt32`](/docs/ru/reference/data-types/int-uint) - `cardinality_limit` — максимальная мощность подмножества. [`UInt32`](/docs/ru/reference/data-types/int-uint)

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

Возвращает битмап, содержащий не более `cardinality_limit` элементов с беззнаковым значением не менее `range_start` [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT arraySort(bitmapToArray(bitmapSubsetLimit(bitmapBuild([1, 5, 3, 2, 8]), 3, 2))) AS res;
```

```response title=Response theme={null}
┌─res────┐
│ [3, 5] │
└────────┘
```

<div id="bitmapToArray">
  ## bitmapToArray
</div>

Добавленный в: v20.1.0

Преобразует битмап в массив его элементов. Тип элементов массива соответствует типу элементов битмапа `T` (знаковое или беззнаковое целое число). Это функция, обратная [`bitmapBuild`](/docs/ru/reference/functions/regular-functions/bitmap-functions#bitmapBuild).

**Синтаксис**

```sql theme={null}
bitmapToArray(bitmap)
```

**Аргументы**

* `bitmap` — битмап, который нужно преобразовать. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Массив элементов, содержащихся в битмапе [`Array(T)`](/docs/ru/reference/data-types/array)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```

```response title=Response theme={null}
┌─res─────────────┐
│ [1, 2, 3, 4, 5] │
└─────────────────┘
```

**Знаковый битмап**

```sql title=Query theme={null}
SELECT arraySort(bitmapToArray(bitmapBuild([-128, -1]::Array(Int8)))) AS res;
```

```response title=Response theme={null}
┌─res────────┐
│ [-128, -1] │
└────────────┘
```

<div id="bitmapTransform">
  ## bitmapTransform
</div>

Добавленный в: v20.1.0

Заменяет элементы битмапа в соответствии с отображением из `from_array` в `to_array`.
Значения интерпретируются как беззнаковые целые числа типа элементов битмапа (в том же домене, что и [`bitmapContains`](/docs/ru/reference/functions/regular-functions/bitmap-functions#bitmapContains)).
Для знаковых битмапов отрицательный элемент соответствует своему беззнаковому аналогу (например, значение `Int8` `-1` соответствует `255`).
Значение в `to_array`, не помещающееся в тип элемента битмапа, вызывает `BAD_ARGUMENTS`. Значение в `from_array`,
которое не помещается, просто не находится, поэтому соответствующая замена не применяется.

**Синтаксис**

```sql theme={null}
bitmapTransform(bitmap, from_array, to_array)
```

**Аргументы**

* `bitmap` — объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `from_array` — массив исходных установленных битов, которые необходимо заменить. [`Array(T)`](/docs/ru/reference/data-types/array). - `to_array` — массив новых установленных битов для замены. [`Array(T)`](/docs/ru/reference/data-types/array).

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

Возвращает битмап с элементами, преобразованными по заданному соответствию [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapTransform(bitmapBuild([1, 2, 3, 4, 5]), [2, 4], [20, 40])) AS res;
```

```response title=Response theme={null}
┌─res───────────────┐
│ [1, 3, 5, 20, 40] │
└───────────────────┘
```

**Знаковый битмап**

```sql title=Query theme={null}
SELECT arraySort(bitmapToArray(bitmapTransform(bitmapBuild([-1, 0]::Array(Int8)), [255], [10]))) AS res;
```

```response title=Response theme={null}
┌─res─────┐
│ [0, 10] │
└─────────┘
```

<div id="bitmapXor">
  ## bitmapXor
</div>

Добавленный в: v20.1.0

Вычисляет симметрическую разность (XOR) двух битмапов.

**Синтаксис**

```sql theme={null}
bitmapXor(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает битмап, содержащий биты, установленные только в одном из входных битмапов [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapXor(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res──────────┐
│ [1, 2, 4, 5] │
└──────────────┘
```

<div id="bitmapXorCardinality">
  ## bitmapXorCardinality
</div>

Добавленный в: v20.1.0

Возвращает мощность результата XOR (симметрической разности) двух битмапов.

**Синтаксис**

```sql theme={null}
bitmapXorCardinality(bitmap1, bitmap2)
```

**Аргументы**

* `bitmap1` — Первый объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `bitmap2` — Второй объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction).

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

Возвращает количество установленных битов в симметрической разности двух битмапов [`UInt64`](/docs/ru/reference/data-types/int-uint)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapXorCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   4 │
└─────┘
```

<div id="subBitmap">
  ## subBitmap
</div>

Добавленный в: v21.9.0

Возвращает подмножество битмапа после пропуска `offset` элементов в порядке возрастания беззнаковых значений. Максимальная мощность возвращаемого битмапа — `cardinality_limit`.

**Синтаксис**

```sql theme={null}
subBitmap(bitmap, offset, cardinality_limit)
```

**Аргументы**

* `bitmap` — объект битмапа. [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction). - `offset` — количество установленных битов, которые нужно пропустить с начала (отсчёт с нуля). [`UInt32`](/docs/ru/reference/data-types/int-uint) - `cardinality_limit` — максимальное количество установленных битов, включаемых в подмножество. [`UInt32`](/docs/ru/reference/data-types/int-uint)

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

Возвращает битмап, содержащий не более `cardinality_limit` элементов после пропуска `offset` элементов в порядке возрастания беззнаковых значений [`AggregateFunction(groupBitmap, T)`](/docs/ru/reference/data-types/aggregatefunction)

**Примеры**

**Пример использования**

```sql title=Query theme={null}
SELECT bitmapToArray(subBitmap(bitmapBuild([1, 2, 3, 4, 5]), 2, 2)) AS res;
```

```response title=Response theme={null}
┌─res────┐
│ [3, 4] │
└────────┘
```
