Skip to main content

GROUP_ARRAY_INTERSECT

Description

Calculate the intersection elements of the input array across all rows and return a new array.

Syntax

GROUP_ARRAY_INTERSECT(<expr>)

Parameters

ParameterDescription
<expr>An expression to calculate intersection, supported type: Array.

Return Value

Returns an array containing the intersection results. If there is no valid data in the group, returns an empty array.

Example

-- setup
CREATE TABLE group_array_intersect_test (
id INT,
c_array_string ARRAY<STRING>
) DISTRIBUTED BY HASH(id) BUCKETS 1
PROPERTIES ("replication_num" = "1");
INSERT INTO group_array_intersect_test VALUES
(1, ['a', 'b', 'c', 'd', 'e']),
(2, ['a', 'b']),
(3, ['a', null]);
select group_array_intersect(c_array_string) from group_array_intersect_test;
+---------------------------------------+
| group_array_intersect(c_array_string) |
+---------------------------------------+
| ["a"] |
+---------------------------------------+
select group_array_intersect(c_array_string) from group_array_intersect_test where id is null;
+---------------------------------------+
| group_array_intersect(c_array_string) |
+---------------------------------------+
| [] |
+---------------------------------------+