Maison  >  Article  >  base de données  >  Comment implémenter la conversion ligne-colonne dans MySQL

Comment implémenter la conversion ligne-colonne dans MySQL

PHPz
PHPzoriginal
2023-04-17 16:45:033145parcourir

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.

  1. Convertir les données de ligne en données de colonne

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.

  1. Convertir les données de colonne en données de ligne

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!

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