Maison >base de données >tutoriel mysql >Comment remodeler efficacement les données du format long au format large dans MySQL ?

Comment remodeler efficacement les données du format long au format large dans MySQL ?

DDD
DDDoriginal
2024-12-29 01:40:10538parcourir

How to Efficiently Reshape Data from Long to Wide Format in MySQL?

Remodelage des données d'un format long à un format large dans MySQL

Introduction :

Remodelage des données d'un format long (haut) un format large peut être une nécessité lors de la manipulation de données. MySQL fournit des fonctionnalités qui vous permettent d'effectuer cette opération sans recourir à des langages de script externes.

Création de la table grand format :

  1. La première étape est d'obtenir une liste de toutes les clés distinctes présentes dans le tableau au format long :

    SELECT DISTINCT key FROM table;
  2. Utiliser le touches pour créer un nouveau tableau avec la structure grand format souhaitée :

    CREATE TABLE wide_table (
        country VARCHAR(255),
        key1 VARCHAR(255),
        key2 VARCHAR(255),
        ...,
        keyN VARCHAR(255)
    );

Remplir les valeurs du tableau :

  1. Enfin, insérez les données dans le tableau grand format à l'aide de tableaux croisés requête :

    INSERT INTO wide_table (
        country,
        key1,
        key2,
        ...,
        keyN
    )
    SELECT
        country,
        MAX(IF(key = 'key1', value, NULL)) AS key1,
        MAX(IF(key = 'key2', value, NULL)) AS key2,
        ...,
        MAX(IF(key = 'keyN', value, NULL)) AS keyN
    FROM table
    GROUP BY country;

Exemple :

Considérez la table d'entrée au format long :

country attrName attrValue key
US President Obama 2
US Currency Dollar 3
China President Hu 4
China Currency Yuan 5

Utilisation de ce qui précède étapes, nous pouvons remodeler les données en grand format :

Grand format Résultat :

country President Currency
US Obama Dollar
China Hu Yuan

Avantages de l'utilisation de SQL :

  • Efficacité : Les requêtes SQL sont optimisées pour les opérations de base de données, minimisant le temps de traitement.
  • Déclaratif : SQL vous permet de exprimer la transformation souhaitée de manière concise et lisible.
  • Portabilité : Les requêtes SQL peuvent être exécutées sur différentes bases de données MySQL, garantissant la compatibilité sans modifications.
  • Maintenabilité : Une fois la requête SQL développée, elle peut être facilement maintenue et modifiée selon les besoins.

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