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!