MySQL 中的行到列轉換:動態資料的資料透視表
資料透視表是一種將資料從面向行轉換的便捷方法格式轉換為面向列的格式,以便更輕鬆地進行分析和報告。在 MySQL 中,這種轉換可以透過專門的技術來實現。
考慮以下範例數據:
ID | Type | 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中文網其他相關文章!