For at bevare den samme dimension af dit array kan du ikke direkte bruge array_agg()
, så først unnest
dine arrays og anvende distinct
for at fjerne dubletter (1). I ydre forespørgsel er det tid til at aggregere. For at bevare værdier skal du inkludere order by
inden for aggregeret 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) Hvis du ikke har brug for dubletfjernelse, skal du bare fjerne distinct
ord.