在 MySQL 中,沒有內置的數據透視功能,但可以使用 SQL 查詢和一些技巧來實現類似的效果
首先,創建一個示例表格:
CREATE TABLE sales_data (
product_id INT,
month VARCHAR(10),
sales INT
);
INSERT INTO sales_data (product_id, month, sales)
VALUES (1, 'January', 100),
(1, 'February', 200),
(2, 'January', 150),
(2, 'February', 250);
接下來,使用 CASE 語句和 GROUP BY 子句實現數據透視:
SELECT product_id,
SUM(CASE WHEN month = 'January' THEN sales ELSE 0 END) AS January,
SUM(CASE WHEN month = 'February' THEN sales ELSE 0 END) AS February
FROM sales_data
GROUP BY product_id;
這將返回以下結果:
+------------+---------+----------+
| product_id | January | February|
+------------+---------+----------+
| 1 | 100 | 200 |
| 2 | 150 | 250 |
+------------+---------+----------+
這個查詢將會根據 product_id
對數據進行分組,并使用 CASE 語句計算每個月的銷售額。最后,使用 GROUP BY 子句將結果按照 product_id
進行匯總。
需要注意的是,這種方法需要為每個需要透視的列編寫一個 CASE 語句。如果需要透視更多的列,可以繼續添加更多的 CASE 語句。