Maison > base de données > tutoriel mysql > Comment créer des tables de pivot dans MySQL en utilisant des instructions de cas et en groupe?

Comment créer des tables de pivot dans MySQL en utilisant des instructions de cas et en groupe?

Susan Sarandon
Libérer: 2025-01-25 20:35:09
original
942 Les gens l'ont consulté

How to Create Pivot Tables in MySQL Using CASE Statements and GROUP BY?

Générer des tableaux croisés dynamiques dans MySQL : un guide

Les tableaux croisés dynamiques sont inestimables pour la synthèse des données, vous permettant d'agréger des données sur plusieurs dimensions. Ce guide montre comment créer des tableaux croisés dynamiques dans MySQL à l'aide des instructions CASE et GROUP BY.

Exemple illustratif :

Considérez cet exemple de table MySQL :

company_name action pagecount
Company A PRINT 3
Company A PRINT 2
Company A PRINT 3
Company B EMAIL NULL
Company B PRINT 2
Company B PRINT 2
Company B PRINT 1
Company A PRINT 3

La requête SQL suivante construit un tableau croisé dynamique à partir de ces données :

<code class="language-sql">SELECT
  P.`company_name`,
  COUNT(CASE WHEN P.`action` = 'EMAIL' THEN 1 ELSE NULL END) AS 'EMAIL',
  COUNT(CASE WHEN P.`action` = 'PRINT' AND P.`pagecount` = '1' THEN P.`pagecount` ELSE NULL END) AS 'PRINT 1 pages',
  COUNT(CASE WHEN P.`action` = 'PRINT' AND P.`pagecount` = '2' THEN P.`pagecount` ELSE NULL END) AS 'PRINT 2 pages',
  COUNT(CASE WHEN P.`action` = 'PRINT' AND P.`pagecount` = '3' THEN P.`pagecount` ELSE NULL END) AS 'PRINT 3 pages'
FROM
  test_pivot P
GROUP BY
  P.`company_name`;</code>
Copier après la connexion

Cette requête génère le tableau croisé dynamique suivant :

company_name EMAIL PRINT 1 pages PRINT 2 pages PRINT 3 pages
CompanyA 0 0 1 3
CompanyB 1 1 2 0

Apprentissage complémentaire :

Pour une compréhension plus approfondie des tableaux croisés dynamiques MySQL, explorez ces ressources :

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal