这同比和环比怎么写SQL

了解

FineReport Latty 发布于 2020-9-28 10:17 (编辑于 2020-10-9 16:41)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
指间沙Lv6中级互助
发布于2020-9-29 11:15

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


最佳回答
0
jongwangLv6中级互助
发布于2020-9-28 10:42

如果是oracle等可以使用lag或者lead函数的数据库的话,可以使用上面的函数来写,具体可搜下这两个公式。


如果是别的数据库的话,可以参考下面的思路,主要是对于日期进行处理(加一个周期),然后将原表通过日期左连加了周期的日期的结果表,做计算即可:


https://blog.csdn.net/gslzydwgh/article/details/57405898


如果不想用数据库解决,还可以搜下帮助文档,层次坐标和动态格间运算,来处理同环比。

最佳回答
0
LarryAbbyLv5中级互助
发布于2020-9-28 10:44(编辑于 2020-9-28 10:44)

环比-https://help.fanruan.com/finereport/doc-view-350.html

同期比-https://help.fanruan.com/finereport/doc-view-349.html 

最佳回答
0
ColdmanLv6高级互助
发布于2020-9-28 10:47

不要用SQL写啦,太麻烦

利用层次坐标来做比较简单,参考楼上的帮助文档

  • 5关注人数
  • 764浏览人数
  • 最后回答于:2020-10-9 16:41
    请选择关闭问题的原因
    确定 取消
    返回顶部