Maison >base de données >tutoriel mysql >Comment concaténer plusieurs lignes en une seule chaîne à l'aide de GROUP_CONCAT et CONCAT dans MySQL ?
Utilisation de GROUP_CONCAT dans CONCAT dans MySQL
Pour concaténer plusieurs lignes en une seule chaîne, tout en les regroupant par valeurs communes, vous pouvez utiliser le Fonction GROUP_CONCAT. Explorons son application avec un exemple pratique.
Question :
Étant donné une table nommée mytbl avec les données suivantes :
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Comment peut-on nous transformons ces données en ce qui suit format :
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Réponse :
Pour y parvenir, vous pouvez utiliser une combinaison de fonctions GROUP_CONCAT et CONCAT imbriquées :
select id, group_concat(`Name` separator ',') as `ColumnName` from ( select id, concat(`Name`, ':', group_concat(`Value` separator ',')) as Name from mytbl group by id, Name ) tbl group by id;
Explication :
Cette combinaison GROUP_CONCAT et CONCAT imbriquée vous permet de générer la sortie souhaitée, où chaque identifiant est associé à un chaîne de nom séparée par des virgules et leur valeur correspondante.
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!