使用sql语句计算同比环比
时间: 2023-07-03 22:26:36 浏览: 245
MSSQL性能监控SQL语句
5星 · 资源好评率100%
计算同比和环比需要使用SQL中的聚合函数和窗口函数。
同比计算公式为:(本期数-同期数)/同期数
环比计算公式为:(本期数-上期数)/上期数
假设我们有一个销售数据表sales,包含字段date、sales_volume。
同比计算可以使用如下SQL语句:
```
SELECT
date,
(SUM(CASE WHEN YEAR(date) = 2021 THEN sales_volume ELSE 0 END) - SUM(CASE WHEN YEAR(date) = 2020 THEN sales_volume ELSE 0 END)) / SUM(CASE WHEN YEAR(date) = 2020 THEN sales_volume ELSE 0 END) AS yoy
FROM
sales
GROUP BY
date
```
其中,SUM(CASE WHEN YEAR(date) = 2021 THEN sales_volume ELSE 0 END)表示2021年的销售总额,SUM(CASE WHEN YEAR(date) = 2020 THEN sales_volume ELSE 0 END)表示2020年的销售总额。
环比计算可以使用如下SQL语句:
```
SELECT
date,
(sales_volume - LAG(sales_volume) OVER (ORDER BY date)) / LAG(sales_volume) OVER (ORDER BY date) AS mom
FROM
sales
```
其中,LAG(sales_volume) OVER (ORDER BY date)表示取上一期的销售总额。
阅读全文