Maison >base de données >tutoriel mysql >Comment concaténer des valeurs de champ dans PostgreSQL ?

Comment concaténer des valeurs de champ dans PostgreSQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-21 09:27:09359parcourir

How to Concatenate Field Values in PostgreSQL?

Joindre les valeurs des champs dans PostgreSQL

Dans certaines applications de bases de données, il est nécessaire de récupérer une seule ligne pour chaque identifiant unique de la table et de concaténer les valeurs des champs correspondants. Par exemple, étant donné un tableau contenant les données suivantes :

ID 列A 列B
TM67 4 32556
TM67 9 98200
TM67 72 22300
TM99 2 23009
TM99 3 11200

Le résultat attendu est le suivant :

ID 列A 列B
TM67 4,9,72 32556,98200,22300
TM99 2,3 23009,11200

Dans MySQL, la fonction d'agrégation GROUP_CONCAT est généralement utilisée pour atteindre cet objectif. Cependant, il n'existe pas d'équivalent direct dans PostgreSQL.

Heureusement, PostgreSQL propose des mécanismes alternatifs pour obtenir le même résultat :

<code class="language-sql">SELECT id, 
       string_agg(some_column, ',')
FROM the_table
GROUP BY id</code>

Cette méthode utilise la fonction string_agg (introduite dans PostgreSQL 9.0) pour agréger les valeurs de la colonne spécifiée dans une chaîne délimitée par des virgules. La clause GROUP BY garantit que l'opération d'agrégation est effectuée séparément pour chaque ID unique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn