Maîtriser la concaténation de données dans PostgreSQL avec string_agg()
Dans la gestion de bases de données, combiner les données de plusieurs lignes en une seule chaîne est une tâche courante. Alors que MySQL propose la fonction GROUP_CONCAT
pratique, PostgreSQL fournit la fonction string_agg()
tout aussi puissante. Ce guide explique comment utiliser string_agg()
pour obtenir le même résultat.
La solution PostgreSQL : string_agg()
Avant PostgreSQL 9.0, un équivalent direct de GROUP_CONCAT
n'était pas disponible. Cependant, string_agg()
comble cette lacune, en concaténant efficacement les valeurs d'une colonne avec un délimiteur spécifié par l'utilisateur.
Syntaxe et utilisation
La fonction string_agg()
suit cette syntaxe simple :
<code class="language-sql">string_agg(expression, delimiter)</code>
Exemple illustratif
Supposons un tableau tel que décrit dans la question d'origine. La requête suivante montre string_agg()
en action :
<code class="language-sql">SELECT id, string_agg(column_name, ',') AS concatenated_values FROM the_table GROUP BY id;</code>
Cette requête produirait le résultat suivant :
<code>TM67 | 4,9,72 TM99 | 2,3</code>
Considérations clés
string_agg()
fonctionne avec n'importe quelle expression, pas seulement avec les colonnes.DISTINCT
dans la fonction string_agg()
.Ce guide fournit une méthode claire et concise pour concaténer des données dans PostgreSQL, offrant une alternative robuste au GROUP_CONCAT
de MySQL.
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!