如何实现当前累计数据减去前一天的累计数据得到当天的数据?

情况是这样的,比如:有个数据它是每天累计的数据,比如说该数据从2022.05.01开始累计,2022.05.01的数据是10,到2022.05.02号的时候数据变为30,2022.05.03号的时候数据变为100,因为数据是累计的,我们要的实际当天数据应该是2022.05.01号为10(因为是第一天不需要减去前一天的数据),2022.05.02号为20(30-10),2022.05.03号为70(100-30),请问要求这种某一天实际的数据这种情况怎么用sql来实现?

用户d9908268 发布于 2022-4-27 17:57
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
shirokoLv6资深互助
发布于2022-4-27 18:00

你的数据库是什么,比如oracle和其他一些支持窗口函数 LAG()与LEAD()的话,就很容易处理

https://blog.csdn.net/qq_42374697/article/details/114747524

  • 用户d9908268 用户d9908268(提问者) 数据库是mysql
    2022-04-27 18:01 
  • shiroko shiroko 回复 用户d9908268(提问者) mysql8支持,不支持的话就麻烦一点,left join表自己,on条件写的天数相差1,然后两个字段相减
    2022-04-27 18:05 
最佳回答
0
胡歌Lv7中级互助
发布于2022-4-27 18:01

使用 lag() over() 或者 lead() over(),具体哪个你自己试试就知道了

最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2022-4-27 18:03(编辑于 2022-4-27 18:04)
https://blog.csdn.net/cuichuanv49059/article/details/100480664
参考lag开窗函数 下移一位然后相减mysql8.0


  • 3关注人数
  • 439浏览人数
  • 最后回答于:2022-4-27 18:04
    请选择关闭问题的原因
    确定 取消
    返回顶部