Concatenates the values (including null values) in a column into an array, which can be used for pivoting rows into columns.
ARRAY_AGG(<col>)
| Parameter | Description |
|---|---|
<col> | An expression that determines the values to be placed into the array. Supported types: Bool, TinyInt, SmallInt, Integer, BigInt, LargeInt, Float, Double, Decimal, Date, Datetime, IPV4, IPV6, String, Array, Map, Struct. |
Returns a value of ARRAY type.Special cases:
-- setup CREATE TABLE test_doris_array_agg ( c1 INT, c2 INT ) DISTRIBUTED BY HASH(c1) BUCKETS 1 PROPERTIES ("replication_num" = "1"); INSERT INTO test_doris_array_agg VALUES (1, 10), (1, 20), (1, 30), (2, 100), (2, 200), (3, NULL);
select c1, array_agg(c2) from test_doris_array_agg group by c1;
+------+---------------+ | c1 | array_agg(c2) | +------+---------------+ | 1 | [10, 20, 30] | | 2 | [100, 200] | | 3 | [null] | +------+---------------+
select array_agg(c2) from test_doris_array_agg where c1 is null;
+---------------+ | array_agg(c2) | +---------------+ | [] | +---------------+
| 1 | [“a”,“b”] |