PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ordina un aggregato di testo creato con array_agg in postgresql

Per PostgreSQL moderno (dalla versione 9.0), puoi usare un ORDER BY clausola in un'espressione aggregata :

SELECT
    array_to_string(array_agg(name ORDER BY name), ', ')
FROM
    animals;

Inoltre, per il tuo scopo specifico, puoi utilizzare string_agg per semplificare la tua richiesta:

SELECT
    string_agg(name, ', ' ORDER BY name)
FROM
    animals;