- 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> )
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¶
Essa função pode ser usada como um dos seguintes tipos de funções:
-
Quando usada como uma função de janela, essa função não oferece suporte a quadros de janelas.
Quando você passa uma ARRAY estruturada para a função, a função retorna uma ARRAY estruturada do mesmo tipo.
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] |
+-------------------------+
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.