Maison  >  Article  >  base de données  >  Comment concaténer plusieurs valeurs dans une chaîne séparée par des virgules dans MySQL ?

Comment concaténer plusieurs valeurs dans une chaîne séparée par des virgules dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 11:22:03953parcourir

How to Concatenate Multiple Values into a Comma-Separated String in MySQL?

Chaîne de valeurs sélectionnées séparées par des virgules dans MySQL

Problème :

Comment pouvez-vous convertir les valeurs sélectionnées en une chaîne séparée par des virgules dans MySQL ? Par exemple, vous avez une requête qui renvoie plusieurs valeurs et vous souhaitez les combiner en une seule chaîne.

Code initial :

Voici un exemple de requête qui sélectionne plusieurs ID d'une table :

SELECT id
FROM table_level
WHERE parent_id = 4;

Sortie souhaitée :

Au lieu de lignes séparées, vous souhaitez obtenir une seule chaîne avec tous les ID séparés par des virgules :

"5,6,9,10,12,14,15,17,18,779"

Solution :

La fonction GROUP_CONCAT() de MySQL est conçue dans ce but précis. Il concatène plusieurs valeurs en une seule chaîne, séparées par un délimiteur spécifié. Voici une requête révisée utilisant GROUP_CONCAT() :

SELECT GROUP_CONCAT(id)
FROM table_level
WHERE parent_id = 4
GROUP BY parent_id;

Cette requête regroupe les résultats par parent_id et concatène les valeurs d'ID au sein de chaque groupe, avec une virgule comme délimiteur. Le résultat sera une seule ligne contenant la chaîne d'identifiants souhaitée, séparés par des virgules.

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!

Déclaration:
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