Maison >base de données >tutoriel mysql >Comment remodeler efficacement les données du format long au 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 :
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;
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 :
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 :
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!