sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo agrupar y concatenar arreglos en PostgreSQL

Para conservar la misma dimensión de su matriz, no puede usar directamente array_agg() , así que primero unnest sus arreglos y aplique distinct para eliminar duplicados (1). En la consulta externa, este es el momento de agregar. Para conservar el orden de los valores, incluya order by dentro de la función agregada:

select time, array_agg(col order by col) as col
from (
  select distinct time, unnest(col) as col
  from yourtable
) t
group by time
order by time

(1) Si no necesita la eliminación de duplicados, simplemente elimine distinct palabra.