首頁 > 資料庫 > mysql教程 > 如何使用動態資料在 MySQL 中執行行對列轉換(透視)?

如何使用動態資料在 MySQL 中執行行對列轉換(透視)?

Mary-Kate Olsen
發布: 2024-11-28 11:51:10
原創
846 人瀏覽過

How to Perform Row to Column Transformation (Pivot) in MySQL with Dynamic Data?

MySQL 中的行到列轉換:動態資料的資料透視表

資料透視表是一種將資料從面向行轉換的便捷方法格式轉換為面向列的格式,以便更輕鬆地進行分析和報告。在 MySQL 中,這種轉換可以透過專門的技術來實現。

考慮以下範例數據:

ID Type Email Degignation
1000000000 202 [email protected] Entrepreneur
1000000000 234 [email protected] Engineering,Development
1000000000 239 [email protected] CTO

要透視此數據,我們使用以下查詢:

SELECT ID, 
 MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
 MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
 MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
 Email
FROM mytable
GROUP BY ID, Email
登入後複製

此查詢使用CASE 表達式為每個不同的Type 值動態建立列。 MAX 函數用於聚合每個 ID 和電子郵件組合的 Degignation 值。

需要注意的是,為了使此查詢有效工作,您必須事先知道所有可能的 Type 值。 MySQL不允許根據執行時期發現的資料動態新增列;在查詢準備期間,列定義必須是靜態的。

此技術可讓您將面向行的資料轉換為面向列的格式,透過提供更直觀的資料呈現來促進分析和報告任務。

以上是如何使用動態資料在 MySQL 中執行行對列轉換(透視)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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