- Kategorien:
Aggregationsfunktionen (Zählen diskreter Werte), Fensterfunktionen (Aggregation semistrukturierter Daten)
ARRAY_UNION_AGG¶
Gibt ein ARRAY zurück, das die Vereinigung der diskreten Werte aus den Eingabe-ARRAYs in einer Spalte enthält. Damit können Sie diskrete Werte in ARRAYs aggregieren, die durch ARRAY_UNIQUE_AGG erzeugt wurden.
- Siehe auch:
ARRAY_UNIQUE_AGG, Verwenden von Arrays zum Berechnen diskreter Werte für hierarchische Aggregationen
Syntax¶
ARRAY_UNION_AGG( <column> )
Argumente¶
column
Spalte, die die ARRAYs mit den diskreten Werten enthält (ARRAYs, die durch ARRAY_UNIQUE_AGG erzeugt werden).
Rückgabewerte¶
Die Funktion gibt ein ARRAY zurück, das die diskreten Werte von ARRAYs in column
enthält. Die Werte in ARRAY sind in keiner bestimmten Reihenfolge, und die Reihenfolge ist nicht deterministisch.
Beachten Sie, dass diese Funktion die Multimengen-Semantik verwendet, was bedeutet, dass die maximale Anzahl der Vorkommen eines einzelnen Wertes in einem Eingabe-ARRAY die Anzahl der Vorkommen dieses Wertes im Ausgabe-ARRAY bestimmt. Siehe Beispiele.
Die Funktion ignoriert die NULL-Werte in column
und in den ARRAYs in column
. Wenn column
nur NULL-Werte enthält oder die Tabelle, die column
enthält, leer ist, gibt die Funktion ein leeres ARRAY zurück.
Nutzungshinweise¶
Diese Funktion kann als eine der folgenden Typen von Funktionen verwendet werden:
-
Bei Verwendung als Fensterfunktion werden Fensterrahmen nicht unterstützt.
Wenn Sie der Funktion ein strukturiertes ARRAY übergeben, gibt die Funktion ein strukturiertes ARRAY desselben Typs zurück.
Beispiele¶
Aggregation: Vereinigung von Arrays¶
Das folgende Beispiel veranschaulicht, wie die Funktion die Vereinigung der diskreten Werte von zwei ARRAYs zurückgibt:
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.