

# Criar matrizes a partir de subconsultas
<a name="creating-arrays-from-subqueries"></a>

Crie uma matriz com base em uma coleção de filas.

```
WITH
dataset AS (
  SELECT ARRAY[1,2,3,4,5] AS items
)
SELECT array_agg(i) AS array_items
FROM dataset
CROSS JOIN UNNEST(items) AS t(i)
```

Essa consulta retorna:

```
+-----------------+
| array_items     |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+
```

Para criar um conjunto de valores exclusivos com base em um conjunto de linhas, use a palavra-chave `distinct`.

```
WITH
dataset AS (
  SELECT ARRAY [1,2,2,3,3,4,5] AS items
)
SELECT array_agg(distinct i) AS array_items
FROM dataset
CROSS JOIN UNNEST(items) AS t(i)
```

Essa consulta retorna o resultado a seguir. Observe que a ordem não é garantida.

```
+-----------------+
| array_items     |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+
```

Para obter mais informações sobre como usar a função `array_agg`, consulte [Funções aggregate](https://trino.io/docs/current/functions/aggregate.html) na documentação do Trino.