ARRAY_UNION_AGG¶
列にある入力 ARRAYs からの異なる値の和集合を含んだ ARRAY を返します。これを使用して、 ARRAY_UNIQUE_AGG によって生成された ARRAYs の異なる値を集計できます。
- こちらもご参照ください。
構文¶
ARRAY_UNION_AGG( <column> )
引数¶
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] |
+-------------------------+
操作では マルチセット セマンティクスを使用します。値 1
は入力配列の1つに2回出現するため、出力には2回出現します。
配列の使用による、階層的な集計の異なる値の計算 をご参照ください。