Maison > base de données > tutoriel mysql > Comment GROUP_CONCAT peut-il consolider les données MySQL dans une seule colonne ?

Comment GROUP_CONCAT peut-il consolider les données MySQL dans une seule colonne ?

Barbara Streisand
Libérer: 2024-12-18 19:28:14
original
658 Les gens l'ont consulté

How Can GROUP_CONCAT Consolidate MySQL Data into a Single Column?

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;
Copier après la connexion

Répartition :

La sous-requête sert deux objectifs :

  1. Il regroupe les données par identifiant et nom, concaténant la colonne Valeur au sein de chaque groupe. Cela donne un tableau avec chaque combinaison unique d'identifiant et de nom ayant une chaîne de valeurs concaténée.
  2. La fonction GROUP_CONCAT externe regroupe ensuite les résultats par identifiant et concatène les valeurs de nom en une seule chaîne, séparées par des virgules.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal