| --- |
| { |
| "title": "INTERSECT_COUNT", |
| "language": "en", |
| "description": "Calculate the intersection of two or more bitmaps Usage: intersectcount(bitmapcolumntocount, filtercolumn, filtervalues ..." |
| } |
| --- |
| |
| ## Description |
| |
| Calculate the intersection of two or more bitmaps |
| Usage: intersect_count(bitmap_column_to_count, filter_column, filter_values ...) |
| Example: intersect_count(user_id, event, 'A', 'B', 'C'), meaning find the intersect count of user_id in all A/B/C 3 bitmaps |
| Calculate the intersection count of elements in bitmap_column that match column_to_filter within filter_values, i.e., bitmap intersection count. |
| |
| ## Syntax |
| |
| ```sql |
| INTERSECT_COUNT(<bitmap_column>, <column_to_filter>, <filter_values> [, ...]) |
| ``` |
| |
| ## Parameters |
| |
| | Parameter | Description | |
| |------------------|--------------------------------------------------| |
| | `<bitmap_column>` | The input bitmap parameter column. Supported types: Bitmap. | |
| | `<column_to_filter>` | The dimension column used for filtering. Supported types: TinyInt, SmallInt, Integer, BigInt, LargeInt. | |
| | `<filter_values>` | The different values used to filter the dimension column. Supported types: TinyInt, SmallInt, Integer, BigInt, LargeInt. | |
| |
| |
| ## Return Value |
| |
| Returns the number of elements in the intersection of the given bitmaps. |
| |
| ## Example |
| |
| ```sql |
| -- setup |
| CREATE TABLE pv_bitmap ( |
| dt INT, |
| user_id BITMAP, |
| city STRING |
| ) DISTRIBUTED BY HASH(dt) BUCKETS 1 |
| PROPERTIES ("replication_num" = "1"); |
| INSERT INTO pv_bitmap VALUES |
| (20250801, to_bitmap(1), 'beijing'), |
| (20250801, to_bitmap(2), 'beijing'), |
| (20250801, to_bitmap(3), 'shanghai'), |
| (20250802, to_bitmap(3), 'beijing'), |
| (20250802, to_bitmap(4), 'shanghai'), |
| (20250802, to_bitmap(5), 'shenzhen'); |
| ``` |
| |
| ```sql |
| select intersect_count(user_id,dt,20250801) from pv_bitmap; |
| ``` |
| |
| ```text |
| +--------------------------------------+ |
| | intersect_count(user_id,dt,20250801) | |
| +--------------------------------------+ |
| | 3 | |
| +--------------------------------------+ |
| ``` |