mysql如何计算出同一列的两个时间差

image.png

现在有个流程表flow 同一个instid字段下有多条流程,现在就需要计算出来上一个节点的提交时间,到下一个节点的提交时间,中间用时多久,这个应该怎么计算

用户yxfXp2684204 发布于 2021-12-16 11:12 (编辑于 2021-12-16 11:13)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
墨残烛Lv5初级互助
发布于2021-12-16 11:19

(DAY ( a.[STARTDATE] ) - row_number () OVER ( partition BY a.[INSTID] ORDER BY a.[STARTDATE] )) AS daysFlag   算出来的数可以表示连续的情况

然后对上述连续判断好的基础上对STARTDATE用时间间隔函数就好了

最佳回答
0
我在等风也等你Lv6初级互助
发布于2021-12-16 11:16

用时间相减 datediff(date1,date2):两个日期相减,date1减去date2得到相减之后的天数。

  • 用户yxfXp2684204 用户yxfXp2684204(提问者) 现在是需要查询出来上一个节点的提交时间,到下一个节点的提交时间,中间用时多久,里面数据很多,不可能去一条条计算的
    2021-12-16 11:19 
  • 我在等风也等你 我在等风也等你 回复 用户yxfXp2684204(提问者) 用两条sql,查询出两个节点的提交时间,然后相减,比如selecta timediff(aa. STARTDATE,bb.STARTDATE) as time from flow aa where aa.id=213 left join (select aa.* from flow aa where aa.id=214) bb on aa.instid=bb.instid
    2021-12-16 11:29 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-12-16 11:17
最佳回答
0
dawangxiaoliLv2见习互助
发布于2021-12-16 11:20(编辑于 2021-12-16 17:32)

再写一个 select stepsn+1 stepsn, startdate from 表名  的查询

left join 这个查询on stepsn=stepsn and instid=instid

  • 5关注人数
  • 495浏览人数
  • 最后回答于:2021-12-16 17:32
    请选择关闭问题的原因
    确定 取消
    返回顶部