Categorias:

Funções de agregação (Contagem de valores distintos), Funções de janela (Agregação de dados semiestruturados)

ARRAY_UNION_AGG

Retorna um ARRAY que contém a união dos valores distintos dos ARRAYs de entrada em uma coluna. Você pode usar isso para agregar valores distintos em ARRAYs produzidos por ARRAY_UNIQUE_AGG.

Consulte também:

ARRAY_UNIQUE_AGG , Uso de matrizes para computar valores distintos para agregações hierárquicas

Sintaxe

ARRAY_UNION_AGG( <column> )
Copy

Argumentos

column

A coluna contendo ARRAYs com os valores distintos (o ARRAYs produzido por ARRAY_UNIQUE_AGG).

Retornos

A função retorna um ARRAY contendo os valores distintos de ARRAYs em column. Os valores em ARRAY não estão em nenhuma ordem particular, e a ordem não é determinante.

Note que esta função usa semântica multiset, o que significa que o número máximo de ocorrências de um valor individual em uma única entrada ARRAY determina o número de ocorrências desse valor na saída ARRAY. Consulte Exemplos.

A função ignora os valores NULL em column e em ARRAYs em column. Se column tiver apenas valores NULL ou a tabela contendo column estiver vazia, a função retorna uma ARRAY vazia.

Notas de uso

Exemplos

Agregação: união de arrays

O exemplo a seguir ilustra como a função retorna a união de valores distintos de dois 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

A operação usa a semântica de multiset. O valor 1 aparece duas vezes na saída porque aparece duas vezes em uma das arrays de entrada.

Consulte Uso de matrizes para computar valores distintos para agregações hierárquicas.