Creación de matrices a partir de subconsultas
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