- Catégories :
Fonctions d’agrégation (Compter les valeurs distinctes) , Fonctions de la fenêtre (Agrégation de données semi-structurées)
ARRAY_UNION_AGG¶
Renvoie un ARRAY qui contient l’union des valeurs distinctes de l’entrée ARRAYs dans une colonne. Vous pouvez l’utiliser pour agréger des valeurs distinctes dans des ARRAYs produits par ARRAY_UNIQUE_AGG.
- Voir aussi :
ARRAY_UNIQUE_AGG , Utilisation de tableaux pour calculer des valeurs distinctes pour les agrégations hiérarchiques
Syntaxe¶
ARRAY_UNION_AGG( <column> )
Arguments¶
column
La colonne contenant les ARRAYs avec les valeurs distinctes (les ARRAYs produits par ARRAY_UNIQUE_AGG).
Renvoie¶
La fonction renvoie un ARRAY contenant les valeurs distinctes des ARRAYs de column
. Les valeurs dans l’ARRAY ne sont pas dans un ordre particulier, et l’ordre n’est pas déterministe.
Notez que cette fonction utilise la sémantique multiset, ce qui signifie que le nombre maximum d’occurrences d’une valeur individuelle dans un seul ARRAY d’entrée détermine le nombre d’occurrences de cette valeur dans l’ARRAY de sortie. Voir des exemples.
La fonction ignore les valeurs NULL dans la column
et dans les ARRAYs de column
. Si column
ne contient que des valeurs NULL ou si la table contenant une column
est vide, la fonction renvoie un ARRAY vide.
Notes sur l’utilisation¶
Cette fonction peut être utilisée comme l’un des types de fonctions suivants :
-
Lorsqu’elle est utilisée comme fonction de fenêtre, cette fonction ne prend pas en charge les cadres de fenêtres.
Lorsque vous transmettez un ARRAY structuré à la fonction, celle-ci renvoie un ARRAY structuré du même type.
Exemples¶
Agrégation : union de tableaux¶
L’exemple suivant illustre comment la fonction renvoie l’union des valeurs distinctes de deux 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] |
+-------------------------+
L’opération utilise la sémantique multiset. La valeur 1
apparaît deux fois dans la sortie, car elle apparaît deux fois dans l’un des tableaux d’entrée.
Voir Utilisation de tableaux pour calculer des valeurs distinctes pour les agrégations hiérarchiques.