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> )
Copy

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

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]           |
+-------------------------+
Copy

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.