"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je concaténer les valeurs sur plusieurs lignes dans PostgreSQL?

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

Publié le 2025-02-21
Parcourir:118

How Can I Concatenate Values Across Multiple Rows in PostgreSQL?

PostgreSQL Data Row Value Connection

]

Dans les opérations de base de données relationnelles, il est souvent nécessaire de traiter les données avant d'obtenir le résultat final. Une tâche commune consiste à concaténer les valeurs de plusieurs lignes basées sur des identifiants courants. Dans PostgreSQL, la fonction groupe_concat fournit une solution simple pour cela.

group_concat fonction

PostgreSQL version 9.0 et ci-dessus présente la fonction agrégée groupe_concat , qui prend un ensemble de valeurs dans une colonne et les concaténe en une seule chaîne. group_concat La syntaxe est la suivante:

GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])

paramètre:

  • distinct: (Facultatif) Empêchez les valeurs duplicataires d'être incluses dans le résultat.
  • expression: la colonne ou l'expression à joindre.
  • Ordre par: (Facultatif) Spécifie l'ordre de la jonction de valeurs.
  • séparateur: (facultatif) un caractère ou une chaîne utilisée pour séparer les valeurs concaténées. La valeur par défaut est la virgule (,).

Exemple

Considérez le tableau suivant appelé "Sample_Data":

tm67 72 72 ]
id value
tm67 4
tm67 9
tm99 2
tm99

3

SELECT id, GROUP_CONCAT(value) AS concatenated_values
FROM sample_data
GROUP BY id;
Pour concaténer les valeurs dans la colonne "Value" de chaque "id" unique, nous pouvons utiliser

groupe_concat

comme indiqué ci-dessous: Sélectionnez ID, groupe_concat (valeur) comme concaténé_values De Sample_data Groupe par id; id ConcaTenated_values ​​ 4,9,72
Cette requête produira la sortie suivante:
tm67
tm99

2,3

SELECT id, string_agg(value, ',') AS concatenated_values
FROM sample_data
GROUP BY id;
Syntaxe alternative pour postgresql 9.0

En commençant par PostgreSQL version 9.0, vous pouvez utiliser la syntaxe alternative de groupe_concat

:

sélectionnez id, string_agg (valeur, ',') comme concaténé_values De Sample_data Groupe par id; Cette syntaxe est équivalente à la syntaxe groupe_concat

décrit ci-dessus.

How Can I Concatenate Values Across Multiple Rows in PostgreSQL?
en conclusion

En utilisant le groupe_concat ou les fonctions

string_agg

, vous pouvez facilement concaténer les données multi-rangs dans PostgreSQL. La syntaxe à choisir dépend de votre version PostgreSQL et de vos préférences personnelles.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3