在使用MySQL數據庫時,有時候需要將數據庫中的數據從橫向排列轉換成縱向排列。這種操作在數據分析和報表展示中常常用到。MySQL提供了兩種方法來實現這個功能:
1. 使用CASE WHEN語句
SELECT id, MAX(CASE WHEN `name`='John' THEN `age` ELSE NULL END) AS `John's Age`, MAX(CASE WHEN `name`='Mary' THEN `age` ELSE NULL END) AS `Mary's Age`, MAX(CASE WHEN `name`='Tom' THEN `age` ELSE NULL END) AS `Tom's Age` FROM `table_name` GROUP BY id;
2. 使用MAX()和IF()函數
SELECT id, MAX(IF(`name`='John', `age`, NULL)) AS `John's Age`, MAX(IF(`name`='Mary', `age`, NULL)) AS `Mary's Age`, MAX(IF(`name`='Tom', `age`, NULL)) AS `Tom's Age` FROM `table_name` GROUP BY id;
這兩種方法的效果是一樣的,都可以將橫向排列的數據轉換成縱向排列,以便更方便地進行分析和處理。
下一篇mysql數據庫檢查