Để giữ nguyên cùng một thứ nguyên của mảng của bạn, bạn không thể sử dụng trực tiếp array_agg()
, vì vậy trước tiên chúng ta unnest
mảng của bạn và áp dụng distinct
để loại bỏ các bản sao (1). Trong truy vấn bên ngoài, đây là thời gian để tổng hợp. Để bảo toàn các giá trị, đặt hàng bao gồm order by
trong hàm tổng hợp:
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) Nếu bạn không cần xóa trùng lặp, chỉ cần xóa distinct
từ.