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

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

Susan Sarandon
發布: 2025-01-25 20:35:09
原創
943 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板