Groupe Postgres_Concat

Groupe Postgres Concat



Dans MySQL, la fonction GROUP_CONCAT est une fonction d'agrégation qui concatène les valeurs de plusieurs lignes en une seule chaîne. Il est couramment utilisé pour regrouper plusieurs lignes en une seule ligne, en combinant des données connexes.

Cependant, PostgreSQL ne supporte pas nativement la fonction group_concat() contrairement à MySQL. Par conséquent, ce tutoriel explore comment nous pouvons obtenir une fonctionnalité similaire en utilisant la fonction string_agg().

Fonction PostgreSQL String_Agg

La fonction string_agg dans PostgreSQL nous permet de concaténer les valeurs de plusieurs lignes en une seule chaîne et est séparée par le paramètre spécifié.







L'utilisation de la syntaxe de la fonction est illustrée ci-dessous :



SELECT string_agg(nom_colonne, délimiteur)
FROM nom_table
conditions OÙ
GROUP BY grouping_columns ;

La syntaxe suivante est exprimée comme suit :



nom de colonne – Il précise le nom de la colonne dont on souhaite concaténer la colonne.





délimiteur – Il définit le caractère de séparation utilisé lors de la jonction des valeurs d'entrée.

nom de la table – La table cible qui contient les données.



grouping_columns – Il spécifie les colonnes utilisées pour regrouper les données spécifiées.

Exemple de fonction PostgreSQL String_Agg

Prenons un exemple plus pratique pour illustrer le fonctionnement de la fonction. Supposons que nous ayons une table contenant les informations sur les étudiants. Le tableau contient trois colonnes : id, name et subject.

Si nous souhaitons concaténer les noms des étudiants qui se sont inscrits dans la même matière, nous pouvons utiliser la fonction string_agg.

SELECT sujet, string_agg ( nom, ',' ) Étudiants AS
DES étudiants
GROUP BY sujet ;

Une fois que nous avons exécuté la requête donnée, elle devrait renvoyer un ensemble de résultats avec deux colonnes principales : le sujet et les étudiants. Les étudiants contiennent les noms concaténés des étudiants pour chaque matière et sont séparés par une virgule.

NOTE : La fonction string_agg trie les valeurs concaténées par défaut. Vous pouvez ajouter une clause ORDER BY dans la fonction string_agg pour conserver l'ordre d'origine.

Voilà! Une méthode simple et efficace pour obtenir une fonctionnalité similaire fournie par la fonction group_concat() dans PostgreSQL.

Conclusion

Dans ce tutoriel bref mais efficace, nous avons appris à utiliser la fonction string_agg dans PostgreSQL pour obtenir une fonctionnalité similaire fournie par la fonction group_concat() dans MySQL.