- Kategorien:
Aggregatfunktionen (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.
- Siehe auch:
ARRAY_UNIQUE_AGG, Verwenden von Arrays zum Berechnen diskreter Werte für hierarchische Aggregationen
Syntax¶
Aggregate function
ARRAY_UNION_AGG( <column> )
Window function
ARRAY_UNION_AGG( <column> ) OVER ( [ PARTITION BY <expr> ] )
For details about the OVER clause, see Syntax und Verwendung von Fensterfunktionen.
Argumente¶
columnThe column containing the arrays with the distinct values (the arrays produced by ARRAY_UNIQUE_AGG).
Rückgabewerte¶
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.
Nutzungshinweise¶
Diese Funktion kann als eine der folgenden Typen von Funktionen verwendet werden:
Wenn diese Funktion als Fensterfunktion aufgerufen wird, unterstützt sie keine expliziten Fensterrahmen.
Wenn Sie der Funktion ein strukturiertes Array übergeben, gibt die Funktion ein strukturiertes Array desselben Typs zurück.
Beispiele¶
Aggregation: Vereinigung von 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] |
+-------------------------+
Die Operation verwendet die Semantik von Multiset (Multimenge). Der Wert 1 wird zweimal in der Ausgabe angezeigt, da er in einem der Eingabe-Arrays zweimal vorhanden ist.
Siehe Verwenden von Arrays zum Berechnen diskreter Werte für hierarchische Aggregationen.