

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# função COLLECT\$1SET
<a name="COLLECT_SET"></a>

A função COLLECT\$1SET coleta e retorna um conjunto de elementos exclusivos. 

Essa função é útil quando você deseja coletar todos os valores distintos de um conjunto de linhas em uma única estrutura de dados, sem incluir duplicatas.

**nota**  
A função não é determinística porque a ordem dos resultados coletados depende da ordem das linhas, que pode não ser determinística após a execução de uma operação aleatória.

## Sintaxe
<a name="COLLECT_SET-syntax"></a>

```
collect_set(expr)
```

## Argumentos
<a name="COLLECT_SET-arguments"></a>

 *expr*   
Uma expressão de qualquer tipo, exceto MAP.

## Retornos
<a name="COLLECT_SET-returns"></a>

Retorna um ARRAY do tipo de argumento. A ordem dos elementos na matriz não é determinística. 

Valores NULL são excluídos.

## Exemplo
<a name="COLLECT_SET-example"></a>

A consulta a seguir coleta todos os valores exclusivos da coluna col em um conjunto. A `VALUES` cláusula é usada para criar uma tabela embutida com três linhas, em que cada linha tem uma única coluna com os valores 1, 2 e 1, respectivamente. A `collect_set()` função é então usada para agregar todos os valores exclusivos da coluna col em um único conjunto. A saída dessa instrução SQL seria o conjunto`[1,2]`, que contém os valores exclusivos da coluna col. O valor duplicado de 1 só é incluído uma vez no resultado.

```
SELECT collect_set(col) FROM VALUES (1), (2), (1) AS tab(col);
 [1,2]
```