连续为0的值,如果当前值为0,则向前取第一个不为0的值

mysql 数据库,连续为0的值,如果当前值为0,则向前取第一个不为0的值填充,试过用lag函数,但是连续为0时就无法实现。数据如下,请问有什么办法实现想要的结果吗?

时间段id     工单数量            想要展示的结果

1                 1                            1

2                 3                             3

3                 0                             3

4                 0                             3

5                 5                             5

6                 0                             5

7                 8                             8

SQL 帆软用户BVVcrR2D7A 发布于 2024-1-23 14:45
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
华莉星宸Lv7高级互助
发布于2024-1-23 14:50

把时间段ID,工单数量存入一个表

在这个表上增加一个字段“想要展示的结果

再写个存储过程来计算,把对应的数据存入“想要展示的结果”字段

报表展示的时候,直接用这个表的数据

  • 帆软用户BVVcrR2D7A 帆软用户BVVcrR2D7A(提问者) 这个数据每天都变化,请问下怎么把每天为0的数据自动填充好再写入到一个新增的字段“想要展示的结果”呢
    2024-01-23 14:53 
  • 华莉星宸 华莉星宸 回复 帆软用户BVVcrR2D7A(提问者) 存储过程 就可以一行一行的处理了,直接去最近一次不为0的数据
    2024-01-23 14:56 
  • 2关注人数
  • 200浏览人数
  • 最后回答于:2024-1-23 14:50
    请选择关闭问题的原因
    确定 取消
    返回顶部