

# Creación de matrices a partir de subconsultas
<a name="creating-arrays-from-subqueries"></a>

Cree una matriz a partir de una colección 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)
```

Esta consulta devuelve:

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

Para crear una matriz de valores únicos a partir de un conjunto de filas, utilice la palabra clave `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)
```

Esta consulta devuelve el resultado siguiente. Tenga en cuenta que el orden no está garantizado.

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

Para obtener más información acerca del uso de la función `array_agg`, consulte [Aggregate functions](https://trino.io/docs/current/functions/aggregate.html) (Funciones de agrupación) en la documentación de Trino.