För att bevara samma dimension av din array kan du inte direkt använda array_agg()
, så först unnest
dina arrayer och tillämpa distinct
för att ta bort dubbletter (1). I yttre fråga är det dags att aggregera. För att bevara värdeorden inkluderar du order by
inom aggregerad funktion:
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) Om du inte behöver ta bort dubbletter är det bara att ta bort distinct
ord.