樞軸表對於資料摘要非常寶貴,讓您可以跨多個維度匯總資料。 本指南示範如何使用CASE
語句在mySQL中建立樞軸表
GROUP BY
考慮此範例mysql表:
以下SQL查詢從此資料建立一個樞軸表:
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 |
此查詢得出以下樞軸表:
<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>
company_name | PRINT 1 pages | PRINT 2 pages | PRINT 3 pages | |
---|---|---|---|---|
CompanyA | 0 | 0 | 1 | 3 |
CompanyB | 1 | 1 | 2 | 0 |
為了更深入了解MySQL樞軸表,請探索以下資源:
中的樞紐查詢
以上是如何使用 CASE 語句和 GROUP BY 在 MySQL 中建立資料透視表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!