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 | 3 | |
Company A | 2 | |
Company A | 3 | |
Company B | NULL | |
Company B | 2 | |
Company B | 2 | |
Company B | 1 | |
Company A | 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>
Cette requête génère le tableau croisé dynamique suivant :
company_name | 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!