mysql如何做数据透视表?
时间: 2023-07-27 10:23:57 浏览: 266
简单谈谈MySQL数据透视表
MySQL本身并没有内置的数据透视表功能,但是可以通过SQL查询语句和一些函数来实现类似的功能。以下是一种方法:
假设我们有以下表格:
```
CREATE TABLE sales (
id INT PRIMARY KEY,
date DATE,
product VARCHAR(20),
sales INT
);
INSERT INTO sales (id, date, product, sales) VALUES
(1, '2021-01-01', 'A', 100),
(2, '2021-01-01', 'B', 200),
(3, '2021-01-02', 'A', 150),
(4, '2021-01-02', 'B', 250),
(5, '2021-01-03', 'A', 120),
(6, '2021-01-03', 'B', 180);
```
我们想要按照日期为行、产品为列,显示每天每个产品的销售总额。我们可以使用以下SQL查询语句:
```
SELECT
date,
SUM(CASE WHEN product = 'A' THEN sales ELSE 0 END) AS 'A',
SUM(CASE WHEN product = 'B' THEN sales ELSE 0 END) AS 'B'
FROM sales
GROUP BY date;
```
这个查询语句使用了SUM和CASE函数,分别对每个产品进行条件判断和求和,最终得到每天每个产品的销售总额。输出结果如下:
```
+------------+-----+-----+
| date | A | B |
+------------+-----+-----+
| 2021-01-01 | 100 | 200 |
| 2021-01-02 | 150 | 250 |
| 2021-01-03 | 120 | 180 |
+------------+-----+-----+
```
这样就实现了类似数据透视表的功能。当然,对于更复杂的数据透视表,可能需要使用更复杂的SQL查询语句来实现。
阅读全文