SQL 同比和环比结果集 按月度产量比值 怎么写
时间: 2024-03-01 21:54:01 浏览: 85
SQL中同比和环比通常使用窗口函数和自连接实现。以按月度产量比值为例,以下是一些示例代码:
1. 同比查询:
```sql
SELECT t1.month, t1.production, t1.production / t2.production AS YoY
FROM production t1
LEFT JOIN production t2 ON t1.month = DATEADD(YEAR, -1, t2.month)
WHERE t1.month BETWEEN '2020-01-01' AND '2020-12-31'
```
解释:t1表示当前年份的产量表,t2表示上一年的产量表。通过自连接将当前年份的每个月份的产量与上一年同月份的产量进行比较,得到同比结果。
2. 环比查询:
```sql
SELECT t1.month, t1.production, t1.production / t2.production AS MoM
FROM production t1
LEFT JOIN production t2 ON t1.month = DATEADD(MONTH, -1, t2.month)
WHERE t1.month BETWEEN '2020-02-01' AND '2020-12-31'
```
解释:t1表示当前月份的产量表,t2表示上一个月的产量表。通过自连接将当前月份的产量与上一个月份的产量进行比较,得到环比结果。
需要注意的是,以上代码仅作为示例,实际情况需要根据具体的数据模型和查询需求进行调整。
阅读全文