Utiliser GROUP_CONCAT pour une concaténation complète des données
Face à la tâche de transformer les données dans un format consolidé, GROUP_CONCAT apparaît comme un outil puissant dans MySQL. Explorons ses fonctionnalités en abordant un problème spécifique de manipulation de données :
Objectif :
Transformer les données suivantes dans un format consolidé :
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Voulu Sortie :
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Solution :
Pour réaliser cette transformation, nous employons GROUP_CONCAT en conjonction avec une sous-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;
Répartition :
La sous-requête sert deux objectifs :
Exemple :
Considérez les données fournies. La sous-requête donne :
id | Name |
---|---|
1 | A:4,5 |
1 | B:8 |
2 | C:9 |
Le GROUP_CONCAT externe produit ensuite le résultat final :
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!