In PostgreSQL 8.4 kunt u niet expliciet array_agg
bestellen maar je kunt er omheen werken door de rijen te ordenen die aan de groep/aggregaat zijn doorgegeven met een subquery:
SELECT id, array_to_string(array_agg(image), ',')
FROM (SELECT * FROM test ORDER BY id, rank) x
GROUP BY id;
In PostgreSQL 9.0 kunnen geaggregeerde expressies een ORDER BY
. hebben clausule:
SELECT id, array_to_string(array_agg(image ORDER BY rank), ',')
FROM test
GROUP BY id;