Categories:

Aggregate functions (Counting Distinct Values) , Window functions (Semi-structured Data Aggregation)

# ARRAY_UNION_AGGÂ¶

Returns an ARRAY that contains the union of the distinct values from the input ARRAYs in a column. You can use this to aggregate distinct values in ARRAYs produced by ARRAY_UNIQUE_AGG.

## SyntaxÂ¶

```ARRAY_UNION_AGG( <column> )
```

## ArgumentsÂ¶

`column`

The column containing the ARRAYs with the distinct values (the ARRAYs produced by ARRAY_UNIQUE_AGG).

## ReturnsÂ¶

The function returns an ARRAY containing the distinct values from the ARRAYs in `column`. The values in the ARRAY are in no particular order, and the order is not deterministic.

Note that this function uses multiset semantics, which means that the maximum number of occurrences of an individual value in a single input ARRAY determines the number of occurrences of that value in the output ARRAY. See Examples.

The function ignores NULL values in `column` and in the ARRAYs in `column`. If `column` contains only NULL values or the table containing `column` is empty, the function returns an empty ARRAY.

## Usage notesÂ¶

• This function can be used as either of the following types of functions:

• When you pass a structured ARRAY to the function, the function returns a structured ARRAY of the same type.

## ExamplesÂ¶

### Aggregation: Union of arraysÂ¶

The following example illustrates how the function returns the union of distinct values from two ARRAYs:

```CREATE TABLE union_test(a array);

INSERT INTO union_test
SELECT PARSE_JSON('[ 1, 1, 2]')
UNION ALL
SELECT PARSE_JSON('[ 1, 2, 3]');

SELECT ARRAY_UNION_AGG(a) FROM union_test;
+-------------------------+
| ARRAY_UNION_AGG(A)      |
+-------------------------+
| [ 1, 1, 2, 3]           |
+-------------------------+
```

The operation uses multiset semantics. The value `1` appears twice in the output because it appears twice in one of the input arrays.

Language: English