sql 如何按列显示12个月份
时间: 2023-09-07 12:12:59 浏览: 37
如果你要在SQL中按列显示12个月份,可以使用CASE语句和聚合函数来实现。
假设你有一个名为`sales`的表,其中包含了每个月份的销售数据。你可以使用以下SQL查询来按列显示12个月份:
```sql
SELECT
SUM(CASE WHEN MONTH(sale_date) = 1 THEN sales_amount ELSE 0 END) AS January,
SUM(CASE WHEN MONTH(sale_date) = 2 THEN sales_amount ELSE 0 END) AS February,
SUM(CASE WHEN MONTH(sale_date) = 3 THEN sales_amount ELSE 0 END) AS March,
SUM(CASE WHEN MONTH(sale_date) = 4 THEN sales_amount ELSE 0 END) AS April,
SUM(CASE WHEN MONTH(sale_date) = 5 THEN sales_amount ELSE 0 END) AS May,
SUM(CASE WHEN MONTH(sale_date) = 6 THEN sales_amount ELSE 0 END) AS June,
SUM(CASE WHEN MONTH(sale_date) = 7 THEN sales_amount ELSE 0 END) AS July,
SUM(CASE WHEN MONTH(sale_date) = 8 THEN sales_amount ELSE 0 END) AS August,
SUM(CASE WHEN MONTH(sale_date) = 9 THEN sales_amount ELSE 0 END) AS September,
SUM(CASE WHEN MONTH(sale_date) = 10 THEN sales_amount ELSE 0 END) AS October,
SUM(CASE WHEN MONTH(sale_date) = 11 THEN sales_amount ELSE 0 END) AS November,
SUM(CASE WHEN MONTH(sale_date) = 12 THEN sales_amount ELSE 0 END) AS December
FROM sales;
```
以上查询将返回一个结果集,其中每个月份对应一列,列名为相应的月份名称,每个月份的值为该月份的销售总额。你可以根据实际表和字段名进行调整。