PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como agrupar e concatenar arrays no PostgreSQL


Para preservar a mesma dimensão do seu array, você não pode usar diretamente array_agg() , então primeiro unnest seus arrays e aplique distinct para remover duplicatas (1). Na consulta externa este é o momento de agregar. Para preservar a ordenação de valores, inclua order by dentro da função 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) Se você não precisar de remoção duplicada, apenas remova distinct palavra.