Aby zachować ten sam wymiar swojej tablicy, nie możesz bezpośrednio użyć array_agg()
, więc najpierw unnest
swoje tablice i zastosuj distinct
aby usunąć duplikaty (1). W zewnętrznym zapytaniu jest to czas na agregację. Aby zachować kolejność wartości, dołącz order by
w ramach funkcji agregującej:
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) Jeśli nie potrzebujesz usuwania duplikatów, po prostu usuń distinct
słowo.