blob: 8231f4b5816f8b923facba7a7245e1299b10b9fb [file] [log] [blame] [view]
---
{
"title": "BITMAP_UNION_COUNT",
"language": "en",
"description": "Calculates the union of input Bitmaps and returns its cardinality."
}
---
## Description
Calculates the union of input Bitmaps and returns its cardinality.
## Syntax
```sql
BITMAP_UNION_COUNT(<expr>)
```
## Arguments
| Argument | Description |
| -- | -- |
| `<expr>` | Data type supporting Bitmap |
## Return Value
Returns the size of the Bitmap union, i.e., the number of distinct elements. If there is no valid data in the group, returns 0.
## Example
```sql
-- 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));
```
```sql
select bitmap_union_count(user_id) from pv_bitmap;
```
Counts the number of distinct user_id values.
```text
+-----------------------------+
| bitmap_union_count(user_id) |
+-----------------------------+
| 3 |
+-----------------------------+
```
```sql
select bitmap_union_count(user_id) from pv_bitmap where user_id is null;
```
```text
+-----------------------------+
| bitmap_union_count(user_id) |
+-----------------------------+
| 0 |
+-----------------------------+
```