跳转到主要内容
Bitmap 可通过两种方式构造。第一种是使用带有 -State 的聚合函数 groupBitmap 进行构造,另一种是从 Array 对象构造 bitmap。

bitmapAnd

首次引入于:v20.1.0 计算两个 bitmap 的逻辑与 (AND) 。 语法
参数 返回值 返回一个 bitmap,其中包含两个输入 bitmap 中都存在的位 AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapAndCardinality

引入于:v20.1.0 返回两个 bitmap 逻辑与 (AND) 结果的基数。 语法
参数 返回值 返回两个 bitmap 交集中置为 1 的位数。UInt64 示例 用法示例
Query
Response

bitmapAndnot

始于版本:v20.1.0 计算两个 bitmap 的集合差集 A AND-NOT B。 语法
参数 返回值 返回一个 bitmap,包含第一个 bitmap 中已置位但第二个 bitmap 中未置位的位 AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapAndnotCardinality

引入版本:v20.1.0 返回两个 bitmap 进行 AND-NOT 运算后结果的基数。 语法
参数 返回值 返回 bitmap1 AND-NOT bitmap2 结果中置位的位数。UInt64 示例 使用示例
Query
Response

bitmapBuild

引入版本:v20.1.0 根据无符号整数数组构建 bitmap。它是函数 bitmapToArray 的逆操作。 语法
参数 返回值 返回由给定数组构建的 bitmap AggregateFunction(groupBitmap, T) 示例 用法示例
Query
Response

bitmapCardinality

引入版本:v20.1.0 返回 bitmap 中置为 1 的位数 (即基数) 。 语法
参数 返回值 返回 bitmap 中被置为 1 的位数。UInt64 示例 使用示例
Query
Response

bitmapContains

引入版本:v20.1.0 检查 bitmap 是否包含指定元素。 语法
参数 返回值 如果 bitmap 包含指定的值,则返回 1,否则返回 0UInt8 示例 使用示例
Query
Response

bitmapHasAll

引入版本:v20.1.0 检查第一个 bitmap 是否包含第二个 bitmap 中所有置位的位。 语法
参数 返回值 如果第二个 bitmap 中的所有置位都存在于第一个 bitmap 中,则返回 1,否则返回 0UInt8 示例 用法示例
Query
Response

bitmapHasAny

引入版本:v20.1.0 检查第一个 bitmap 是否包含第二个 bitmap 中任意置位。 语法
参数 返回值 如果第二个 bitmap 中的任意位出现在第一个 bitmap 中,则返回 1;否则返回 0UInt8 示例 使用示例
Query
Response

bitmapMax

引入版本:v20.1.0 返回 bitmap 中被置位的最大位的位置;如果 bitmap 为空,则返回 0 语法
参数 返回值 返回 bitmap 中被置位的最大位的位置;否则返回 0UInt64 示例 使用示例
Query
Response

bitmapMin

引入版本:v20.1.0 返回 bitmap 中最小的已置位的位的位置。如果所有位都未置位,则返回 UINT32_MAX (如果 bitmap 包含超过 2^64 位,则返回 UINT64_MAX) 。 语法
参数 返回值 返回 bitmap 中最小置位所在的位置,或 UINT32_MAX/UINT64_MAX UInt64 示例 使用示例
Query
Response

bitmapOr

引入版本:v20.1.0 计算两个 bitmap 的逻辑或 (OR) 。 语法
参数 返回值 返回一个 bitmap,包含任一输入 bitmap 中置位的位。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapOrCardinality

引入版本:v20.1.0 返回两个 bitmap 逻辑或 (OR) 结果的基数。 语法
参数 返回值 返回两个 bitmap 并集中的置位数。UInt64 示例 用法示例
Query
Response

bitmapSubsetInRange

引入版本:v20.1.0 返回 bitmap 的一个子集,仅包含指定范围 [start, end) 内被置位的位。使用从 1 开始的索引。 语法
参数 返回值 返回一个仅包含指定范围内置位的 bitmap AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapSubsetLimit

引入版本:v20.1.0 返回从位置 range_start 开始、最多包含 cardinality_limit 个置位的 bitmap 子集。使用从 1 开始的索引。 语法
参数 返回值 返回一个 bitmap,其中从 range_start 开始最多包含 cardinality_limit 个置位。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapToArray

自 v20.1.0 引入 将 bitmap 转换为无符号整数数组。它是函数 bitmapBuild 的逆操作。 语法
参数 返回值 返回 bitmap 中包含的无符号整数数组 Array(UInt*) 示例 使用示例
Query
Response

bitmapTransform

引入版本:v20.1.0 通过将 from_array 中指定的位值替换为 to_array 中对应的位值,在 bitmap 中最多可修改 N 位。 语法
参数 返回值 返回一个其元素已根据给定映射进行转换的 bitmap AggregateFunction(groupBitmap, T) 示例 用法示例
Query
Response

bitmapXor

引入版本:v20.1.0 计算两个 bitmap 的对称差 (XOR) 。 语法
参数 返回值 返回一个 bitmap,包含存在于任一输入 bitmap 中但不同时存在于两者中的置位。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapXorCardinality

引入版本:v20.1.0 返回两个 bitmap 的 XOR (对称差) 的基数。 语法
参数 返回值 返回两个 bitmap 的对称差中置位数 UInt64 示例 使用示例
Query
Response

subBitmap

引入版本:v21.9.0 返回 bitmap 的一个子集,从位置 offset 开始。返回的 bitmap 的最大基数为 cardinality_limit 语法
参数 返回值 返回一个 bitmap,按升序跳过 offset 个置位后开始,最多包含 limit 个置位。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response
最后修改于 2026年7月2日