SQL同比数据计算
时间: 2024-02-24 16:53:15 浏览: 251
SQL按照日、周、月、年统计数据的方法分享
5星 · 资源好评率100%
同比是指当前时间段与去年同一时间段进行比较,计算增长或减少的百分比。假设我们要计算今年第二季度和去年第二季度的销售额同比增长率,可以使用以下SQL语句:
```
SELECT (SUM(CASE WHEN YEAR(sales_date) = YEAR(NOW()) THEN sales_amount ELSE 0 END) - SUM(CASE WHEN YEAR(sales_date) = YEAR(NOW()) - 1 THEN sales_amount ELSE 0 END)) / SUM(CASE WHEN YEAR(sales_date) = YEAR(NOW()) - 1 THEN sales_amount ELSE 0 END) * 100 AS YoY_growth_rate
FROM sales_table
WHERE sales_date BETWEEN DATE_ADD(DATE_FORMAT(NOW(), '%Y-04-01'), INTERVAL -1 YEAR) AND DATE_ADD(DATE_FORMAT(NOW(), '%Y-06-30'), INTERVAL -1 YEAR) OR sales_date BETWEEN DATE_FORMAT(NOW(), '%Y-04-01') AND DATE_FORMAT(NOW(), '%Y-06-30');
```
其中,`sales_table`是你要查询的表名,`sales_date`是你要比较的日期列名,`sales_amount`是你要比较的销售额列名。这个查询语句会返回今年第二季度和去年第二季度的销售额同比增长率(单位为百分比)。
阅读全文