Maison > base de données > tutoriel mysql > Comment puis-je concaténer des valeurs sur plusieurs lignes dans PostgreSQL ?

Comment puis-je concaténer des valeurs sur plusieurs lignes dans PostgreSQL ?

Patricia Arquette
Libérer: 2025-01-21 09:22:14
original
203 Les gens l'ont consulté

How Can I Concatenate Values Across Multiple Rows in PostgreSQL?

Connexion de la valeur de la ligne de données PostgreSQL

Dans les opérations de bases de données relationnelles, il est souvent nécessaire de traiter les données avant d'obtenir le résultat final. Une tâche courante consiste à concaténer les valeurs de plusieurs lignes en fonction d'un identifiant commun. Dans PostgreSQL, la fonction GROUP_CONCAT fournit une solution simple pour cela.

GROUP_CONCATFonction

PostgreSQL version 9.0 et versions ultérieures ont introduit la GROUP_CONCATfonction d'agrégation, qui prend un ensemble de valeurs dans une colonne et les concatène en une seule chaîne. La syntaxe de GROUP_CONCAT est la suivante :

<code class="language-sql">GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])</code>
Copier après la connexion

Paramètres :

  • DISTINCT : (facultatif) Empêche les valeurs en double d'être incluses dans les résultats.
  • expression : La colonne ou l'expression à rejoindre.
  • ORDER BY : (facultatif) Spécifie l'ordre dans lequel les valeurs sont concaténées.
  • séparateur : (facultatif) Caractère ou chaîne utilisé pour séparer les valeurs concaténées. La valeur par défaut est la virgule (,).

Exemple

Considérez le tableau suivant nommé "sample_data" :

id value
TM67 4
TM67 9
TM67 72
TM99 2
TM99 3

Pour joindre les valeurs dans la colonne "valeur" pour chaque "identifiant" unique, nous pouvons utiliser GROUP_CONCAT comme ceci :

<code class="language-sql">SELECT id, GROUP_CONCAT(value) AS concatenated_values
FROM sample_data
GROUP BY id;</code>
Copier après la connexion

Cette requête produira le résultat suivant :

id concatenated_values
TM67 4,9,72
TM99 2,3

Comme vous pouvez le constater, les valeurs de chaque "id" sont concaténées et séparées par des virgules.

Syntaxe alternative pour PostgreSQL 9.0

À partir de PostgreSQL version 9.0, une syntaxe alternative pour GROUP_CONCAT peut être utilisée :

<code class="language-sql">SELECT id, string_agg(value, ',') AS concatenated_values
FROM sample_data
GROUP BY id;</code>
Copier après la connexion

Cette syntaxe est équivalente à la syntaxe GROUP_CONCAT décrite ci-dessus.

Conclusion

Vous pouvez facilement joindre plusieurs lignes de données dans PostgreSQL en utilisant la fonction GROUP_CONCAT ou string_agg. La syntaxe que vous choisissez dépend de votre version de PostgreSQL et de vos préférences personnelles.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal