カテゴリ:

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

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

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