Maison > Article > base de données > Comment implémenter la conversion ligne-colonne dans MySQL
MySQL est un système de gestion de bases de données relationnelles populaire. Il fournit de puissantes fonctions de conversion ligne-colonne, permettant aux utilisateurs d'exploiter les données plus facilement. Qu'est-ce que la conversion ligne-colonne ? La conversion ligne-colonne fait référence à la conversion des données de ligne du tableau en données de colonne ou à la conversion des données de colonne en données de ligne. Cet article explique comment utiliser la fonction de conversion ligne-colonne de MySQL.
Dans MySQL, nous pouvons utiliser les fonctions PIVOT et UNPIVOT pour convertir les données de ligne du tableau en données de colonne. La fonction PIVOT convertit les données de ligne du tableau en données de colonne, tandis que la fonction UNPIVOT convertit les données de colonne du tableau en données de ligne.
Voici un exemple. Supposons que nous ayons un tableau des étudiants, qui contient les noms, les matières et les notes des étudiants.
Nom de l'étudiant | Sujet | Réalisations |
---|---|---|
Xiao Ming | Mathématiques | 90 |
Xiao Ming | Anglais | 8 0 |
小红 | Mathématiques | 95 |
小红 | English | 85 |
Nous pouvons utiliser la fonction PIVOT pour convertir le score de l'élève sous la forme suivante :
Nom de l'élève | Ma ème score | Partition anglaise |
---|---|---|
Xiao Ming | 90 | 80 |
小红 | 95 | 85 |
est implémenté avec le code suivant :
SELECT 学生姓名, MAX(CASE WHEN 科目 = '数学' THEN 成绩 ELSE NULL END) AS 数学成绩, MAX(CASE WHEN 科目 = '英语' THEN 成绩 ELSE NULL END) AS 英语成绩 FROM students GROUP BY 学生姓名;
Parmi eux, la fonction MAX est utilisée pour Obtenez la valeur de score maximale. Si la condition n'est pas vraie, retournez NULL.
Correspond à la fonction PIVOT est la fonction UNPIVOT, qui est utilisée pour convertir les données de colonne du tableau en données de ligne. Ci-dessous un exemple. Supposons que nous ayons un tableau des ventes, qui contient les enregistrements de ventes de chaque vendeur chaque mois.
Vendeur | Ventes de janvier | Ventes de février | Ventes de mars |
---|---|---|---|
Xiao Ming | 10000 | 20000 | 150 00 |
小红 | 12000 | 18000 | 11000 |
Nous pouvons utiliser la fonction UNPIVOT pour convertir le relevé de ventes sous la forme suivante :
Vendeur | Mois | Ventes |
---|---|---|
Xiao Ming | Janvier | 10000 |
Xiao Ming | Février | 20000 |
Xiao Ming | Mars | 15000 |
Xiaohong | Janvier | 12000 |
小红 | Février | 18000 |
小红 | March | 11000 |
est implémenté avec le code suivant :
SELECT 销售员, MONTH, 销售额 FROM sales UNPIVOT( 销售额 FOR MONTH IN ([1月], [2月], [3月]) ) AS unpvt;
Parmi eux, la clause FOR de la fonction UNPIVOT est utilisée pour spécifier les colonnes à convertir. Dans cet exemple, nous précisons que les colonnes à convertir sont [Janvier], [Février] et [Mars].
Résumé
La conversion de colonnes et de colonnes est une fonction très pratique, notamment dans les scénarios liés aux rapports et à l'analyse des données commerciales. MySQL fournit les fonctions PIVOT et UNPIVOT pour rendre la conversion des données plus pratique pour les utilisateurs. Être capable d'utiliser ces deux fonctions avec compétence apportera une grande commodité aux opérations de votre base de données.
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!