カテゴリ:

集計関数 (個別値のカウント)、 ウィンドウ関数 (半構造化データの集計)

ARRAY_UNION_AGG

列にある入力 ARRAYs からの異なる値の和集合を含んだ ARRAY を返します。これを使用して、 ARRAY_UNIQUE_AGG によって生成された ARRAYs の異なる値を集計できます。

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

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

構文

ARRAY_UNION_AGG( <column> )
Copy

引数

column

異なる値を持つ ARRAYs を含む列(ARRAY_UNIQUE_AGG によって生成された ARRAYs)。

戻り値

この関数は、 column にある ARRAYs からの異なる値を含む ARRAY を返します。ARRAY の値は特定の順序ではなく、順序は決定論的ではありません。

この関数は マルチセットセマンティクス を使用することに注意してください。これは、単一の入力 ARRAY にある個別の値の最大出現数が、出力 ARRAY にあるその値の出現数を決定することを意味します。 をご参照ください。

この関数は、 column および column の ARRAYs にある NULL 値を無視します。 column に NULL 値のみが含まれている場合、または column を含むテーブルが空の場合、関数は空の ARRAY を返します。

使用上の注意

集計: 配列の結合

次の例は、関数が ARRAYs 2つからの異なる値の和集合を返す方法を示しています。

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回出現します。

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