Utilisation de GROUP_CONCAT et CONCAT pour la transformation des données dans MySQL
Dans MySQL, la combinaison des données de plusieurs lignes en une seule chaîne peut être obtenue grâce au utilisation de la fonction GROUP_CONCAT. Considérons un tableau contenant les informations suivantes :
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Un objectif pourrait être de transformer ces données au format suivant :
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Pour y parvenir, une approche combinée de GROUP_CONCAT et CONCAT peuvent être employés. Voici la requête :
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;
Cette requête fonctionne en deux étapes :
En exécutant cette requête, vous obtiendrez la transformation de données souhaitée, avec des lignes au format suivant :
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
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!