web-dev-qa-db-fra.com

Quel est l'équivalent de LISTAGG en postgres?

Je dois remplacer le pilote Oracle par les derniers postgres.

Postgres ne connaît pas la fonction LISTAGG. Je dois concaténer les valeurs par des virgules séparées.

Quel est l'équivalent de la fonction Oracle LISTAGG dans Postgres?

Merci.

17
cy221

La fonction équivalente dans Postgres est string_agg()

select string_agg(col,',') from my_table

string_agg : valeurs d'entrée concaténées dans une chaîne, séparées par un délimiteur

24
Vivek S.

À partir de Postgres 9.0 ou version ultérieure, je pense que vous pourriez faire quelque chose comme ceci:

SELECT c_id, STRING_AGG(c_grp_id, ',' ORDER BY c_grp_id) AS group_ids 
FROM c_grp_at 
GROUP BY c_id
3
Akash Reddy