如何在MySQL 中將行轉換為列
資料透視表是一種常見的資料轉換,用於將資料重新排列為更易於處理的格式閱讀並分析。在這種情況下,我們希望將包含多行的結果集轉換為一個表,其中每個不同類型值的欄位和每個唯一 ID 和電子郵件組合的行。
要在 MySQL 中實現此目的,我們可以使用以下查詢:
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 值有條件地設定 Degignation 值。然後,MAX() 聚合函數會傳回每組 ID 和電子郵件中每種類型的最大 Degignation 值。
注意: 將佔位符表名稱 (mytable) 替換為包含您的資料的實際表名稱。此外,您需要事先知道所有不同的 Type 值,因為 SQL 不允許在查詢執行期間動態新增列。
以上是如何使用 CASE 和聚合函數將 MySQL 中的行轉換為列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!