カテゴリ:

集計関数 (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.

こちらもご参照ください。

ARRAY_UNIQUE_AGG配列の使用による、階層的な集計の異なる値の計算

構文

Aggregate function

ARRAY_UNION_AGG( <column> )
Copy

Window function

ARRAY_UNION_AGG( <column> ) OVER ( [ PARTITION BY <expr> ] )
Copy

For details about the OVER clause, see ウィンドウ関数の構文と使用法.

引数

column

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

戻り値

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.

使用上の注意

  • この関数は、次に挙げる型の関数のいずれかとして使用できます。

  • この関数がウィンドウ関数として呼び出される場合、明示的なウィンドウフレームはサポートされません。

  • 関数に 構造化配列 を渡すと、関数は同じ型の構造化配列を返します。

集計: 配列の結合

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]           |
+-------------------------+
Copy

操作では マルチセット セマンティクスを使用します。値 1 は入力配列の1つに2回出現するため、出力には2回出現します。

配列の使用による、階層的な集計の異なる値の計算 をご参照ください。