了解
SELECT aa.月份,@curVal := @curVal + aa.monty as sum_money FROM(
SELECT month(销售时间) as 月份,SUM(a.销售数量*b.产品单价) as monty
from 销售明细 a,产品明细 b
where a.`产品ID`=b.`产品ID` and year(a.销售时间)='2020'
GROUP BY month(销售时间)
) aa,(select @curVal:=0) bb
如果是oracle等可以使用lag或者lead函数的数据库的话,可以使用上面的函数来写,具体可搜下这两个公式。
如果是别的数据库的话,可以参考下面的思路,主要是对于日期进行处理(加一个周期),然后将原表通过日期左连加了周期的日期的结果表,做计算即可:
https://blog.csdn.net/gslzydwgh/article/details/57405898
如果不想用数据库解决,还可以搜下帮助文档,层次坐标和动态格间运算,来处理同环比。
环比-https://help.fanruan.com/finereport/doc-view-350.html
同期比-https://help.fanruan.com/finereport/doc-view-349.html
不要用SQL写啦,太麻烦
利用层次坐标来做比较简单,参考楼上的帮助文档