Maison > base de données > tutoriel mysql > Comment effectuer une transformation ligne en colonne (pivot) dans MySQL avec des données dynamiques ?

Comment effectuer une transformation ligne en colonne (pivot) dans MySQL avec des données dynamiques ?

Mary-Kate Olsen
Libérer: 2024-11-28 11:51:10
original
932 Les gens l'ont consulté

How to Perform Row to Column Transformation (Pivot) in MySQL with Dynamic Data?

Transformation de ligne en colonne dans MySQL : tableau croisé dynamique pour les données dynamiques

Les tableaux croisés dynamiques sont un moyen pratique de transformer des données orientées lignes. format vers un format orienté colonnes, permettant une analyse et un reporting plus faciles. Dans MySQL, cette transformation peut être réalisée grâce à une technique spécialisée.

Considérez les exemples de données suivants :

ID Type Email Degignation
1000000000 202 [email protected] Entrepreneur
1000000000 234 [email protected] Engineering,Development
1000000000 239 [email protected] CTO

Pour faire pivoter ces données, nous utilisons la requête suivante :

SELECT ID, 
 MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
 MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
 MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
 Email
FROM mytable
GROUP BY ID, Email
Copier après la connexion

Cette requête utilise l'expression CASE pour créer dynamiquement des colonnes pour chaque valeur de type distincte. La fonction MAX est utilisée pour agréger les valeurs de Dégignation pour chaque combinaison ID et Email.

Il est important de noter que pour que cette requête fonctionne efficacement, vous devez connaître au préalable toutes les valeurs de Type possibles. MySQL n'autorise pas l'ajout dynamique de colonnes basé sur les données découvertes lors de l'exécution ; Les définitions de colonnes doivent être statiques lors de la préparation de la requête.

Cette technique vous permet de transformer les données orientées lignes dans un format orienté colonnes, facilitant ainsi les tâches d'analyse et de reporting en fournissant une présentation des données plus intuitive.

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