

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzione COLLECT\$1SET
<a name="COLLECT_SET"></a>

La funzione COLLECT\$1SET raccoglie e restituisce un set di elementi unici. 

Questa funzione è utile quando si desidera raccogliere tutti i valori distinti da un insieme di righe in un'unica struttura di dati, senza includere duplicati.

**Nota**  
La funzione non è deterministica perché l'ordine dei risultati raccolti dipende dall'ordine delle righe, che può essere non deterministico dopo l'esecuzione di un'operazione di shuffle.

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

```
collect_set(expr)
```

## Arguments (Argomenti)
<a name="COLLECT_SET-arguments"></a>

 *expr*   
Un'espressione di qualsiasi tipo tranne MAP.

## Valori restituiti
<a name="COLLECT_SET-returns"></a>

Restituisce un ARRAY del tipo di argomento. L'ordine degli elementi nell'array non è deterministico. 

I valori NULL sono esclusi.

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

La seguente query raccoglie tutti i valori univoci dalla colonna col in un set. La `VALUES` clausola viene utilizzata per creare una tabella in linea con tre righe, in cui ogni riga ha una singola colonna con i valori 1, 2 e 1 rispettivamente. La `collect_set()` funzione viene quindi utilizzata per aggregare tutti i valori univoci della colonna col in un unico set. L'output di questa istruzione SQL sarebbe il set`[1,2]`, che contiene i valori univoci della colonna col. Il valore duplicato di 1 viene incluso una sola volta nel risultato.

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