Conversion des valeurs MySQL sélectionnées en une chaîne séparée par des virgules
Lorsque vous travaillez avec MySQL, il est souvent nécessaire de récupérer des données et de les convertir en un format plus gérable. Une exigence courante consiste à transformer une liste de valeurs sélectionnées en une chaîne séparée par des virgules.
Considérez le scénario suivant : vous disposez d'une table nommée table_level avec une colonne appelée id et une colonne parent_id. Vous souhaitez sélectionner toutes les valeurs d'identifiant où parent_id est égal à 4 et les convertir en une seule chaîne séparée par des virgules.
Énoncé du problème :
Votre code initial est comme suit :
SELECT id FROM table_level WHERE parent_id = 4;
Cette requête renverra correctement les valeurs d'identification, mais elle les affichera sous forme de lignes individuelles, ce qui rendra difficile leur utilisation comme une seule chaîne.
Sortie souhaitée :
La sortie souhaitée doit être au format de chaîne séparé par des virgules suivant :
"5,6,9,10,12,14,15,17,18,779"
Solution :
Pour obtenir le résultat souhaité, vous pouvez utiliser la fonction GROUP_CONCAT() de MySQL. Cette fonction concatène les valeurs d'une colonne spécifiée, séparées par un délimiteur spécifié. Dans ce cas, le délimiteur sera une virgule.
Requête modifiée :
SELECT GROUP_CONCAT(id) FROM table_level WHERE parent_id = 4 GROUP BY parent_id;
Cette requête modifiée utilise GROUP_CONCAT() pour concaténer les valeurs d'identifiant, séparées par virgules, en une seule chaîne. La clause GROUP BY garantit que la concaténation est effectuée uniquement pour la valeur parent_id spécifiée (4 dans ce cas).
Sortie :
L'exécution de la requête modifiée produira le Sortie de chaîne souhaitée séparée par des virgules :
"5,6,9,10,12,14,15,17,18,779"
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!