Maison >base de données >tutoriel mysql >Comment remodeler des données volumineuses en données larges dans MySQL ?

Comment remodeler des données volumineuses en données larges dans MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-20 19:38:13170parcourir

How to Reshape Tall Data to Wide Data in MySQL?

Remodeler les données dans MySQL : de grand à large

Lorsque vous travaillez avec des données dans une base de données, il est souvent nécessaire de remodeler les données à partir d'un format long et haut à un format plus large. Cette conversion facilite l'analyse et la visualisation des données de manière plus compacte et significative.

Exemple :

Considérons un tableau avec des données dans un format long :

| country | key | value |
|---|---|---|
| USA | President | Obama |
| USA | Currency | Dollar |
| China | President | Hu |
| China | Currency | Yuan |

Dans ce format, chaque ligne représente un seul attribut pour un pays. Pour convertir ces données dans un format large, nous allons créer un nouveau tableau avec des colonnes pour chaque clé unique et les remplir avec les valeurs correspondantes pour chaque pays :

| country | President | Currency |
|---|---|---|
| USA | Obama | Dollar |
| China | Hu | Yuan |

Conversion SQL :

MySQL offre la possibilité de remodeler les données à l'aide de tableaux croisés ou de tableaux croisés dynamiques. Voici un exemple de requête qui générera la table grand format souhaitée :

SELECT country, 
       MAX( IF( key='President', value, NULL ) ) AS President,
       MAX( IF( key='Currency', value, NULL ) ) AS Currency
FROM table
GROUP BY country;

Cette requête utilise la fonction d'agrégation MAX() pour trouver la valeur maximale (c'est-à-dire la valeur associée à chaque clé unique) pour chaque pays.

Étapes :

  1. Créer le Tableau : Exécutez la requête SELECT ci-dessus pour créer un nouveau tableau avec le format large souhaité.
  2. Remplissez les valeurs : La requête remplira automatiquement les valeurs en fonction de l'agrégation.

Conclusion :

Utiliser des tableaux croisés ou tableaux croisés dynamiques dans MySQL, il est possible de remodeler facilement les données d'un format long et haut vers un format large. Il s'agit d'une technique précieuse pour l'analyse et la visualisation des données, et elle peut être facilement implémentée dans MySQL à l'aide du code fourni.

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!

Déclaration:
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