W PostgreSQL 8.4 nie możesz jawnie zamówić array_agg
ale możesz to obejść, porządkując wiersze przekazywane do grupy/agregatu za pomocą podzapytania:
SELECT id, array_to_string(array_agg(image), ',')
FROM (SELECT * FROM test ORDER BY id, rank) x
GROUP BY id;
W PostgreSQL 9.0 wyrażenia agregujące mogą mieć ORDER BY
klauzula:
SELECT id, array_to_string(array_agg(image ORDER BY rank), ',')
FROM test
GROUP BY id;