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.