В PostgreSQL 8.4 не можете изрично да поръчате array_agg
но можете да го заобиколите, като подредите редовете, предадени в групата/агрегата, с подзаявка:
SELECT id, array_to_string(array_agg(image), ',')
FROM (SELECT * FROM test ORDER BY id, rank) x
GROUP BY id;
В PostgreSQL 9.0 агрегатните изрази могат да имат ORDER BY
клауза:
SELECT id, array_to_string(array_agg(image ORDER BY rank), ',')
FROM test
GROUP BY id;