Maison >base de données >tutoriel mysql >Comment concaténer des valeurs de champ 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!