首頁 >資料庫 >mysql教程 >如何使用 CASE 語句和 GROUP BY 在 MySQL 中建立資料透視表?

如何使用 CASE 語句和 GROUP BY 在 MySQL 中建立資料透視表?

Susan Sarandon
Susan Sarandon原創
2025-01-25 20:35:09948瀏覽

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

在mySQL中產生樞軸表:指南

>

樞軸表對於資料摘要非常寶貴,讓您可以跨多個維度匯總資料。 本指南示範如何使用CASE語句在mySQL中建立樞軸表 GROUP BY

說明性範例:

考慮此範例mysql表:

以下SQL查詢從此資料建立一個樞軸表:>
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

此查詢得出以下樞軸表:

<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 EMAIL PRINT 1 pages PRINT 2 pages PRINT 3 pages
CompanyA 0 0 1 3
CompanyB 1 1 2 0

為了更深入了解MySQL樞軸表,請探索以下資源:>

藝術軟體:sql

中的樞紐查​​詢
    >
  • 另一個mysql dba:mysql 中的樞軸表示例
  • codeproject:帶有mySQL 的交叉截圖(樞軸表)
  • 編碼瞄準器:MySQL 中的樞軸表

以上是如何使用 CASE 語句和 GROUP BY 在 MySQL 中建立資料透視表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn