如何使用sql将查询出来的结果使用纵向表展示出来
时间: 2024-03-01 13:50:51 浏览: 20
可以使用 SQL 的 PIVOT 操作将查询结果转换为纵向表展示。
例如,假设有如下表格:
```
CREATE TABLE sales (
year INT,
month INT,
product VARCHAR(20),
revenue DECIMAL(10, 2)
);
INSERT INTO sales VALUES (2019, 1, 'A', 100.00);
INSERT INTO sales VALUES (2019, 1, 'B', 200.00);
INSERT INTO sales VALUES (2019, 2, 'A', 150.00);
INSERT INTO sales VALUES (2019, 2, 'B', 250.00);
```
要将按年份和月份分组的销售额按产品转换为纵向表,可以使用如下 SQL 语句:
```
SELECT year, month,
MAX(CASE WHEN product = 'A' THEN revenue END) AS A_revenue,
MAX(CASE WHEN product = 'B' THEN revenue END) AS B_revenue
FROM sales
GROUP BY year, month;
```
这将返回如下结果:
```
| year | month | A_revenue | B_revenue |
|------|-------|-----------|-----------|
| 2019 | 1 | 100.00 | 200.00 |
| 2019 | 2 | 150.00 | 250.00 |
```
其中,使用了 PIVOT 操作将产品列转换为了 A_revenue 和 B_revenue 两列,分别对应产品 A 和 B 的销售额。