mysql有俩个字段一个是记录状态的,另一个是记录状态录入时间的,怎么计算一个状态的持续时间
3条回答 默认 最新
关注任务ID 状态 时刻 1 初始化 2022-03-01 13:26:00 1 处理中 2022-03-02 14:27:00 1 处理完成 2022-03-03 15:28:00 以上面这个数据为例,你是想得到 初始化的时间为 处理中的时刻减去初始化的时刻是吧?
这个很典型的是要拿到下一行的记录,那么应该用开窗函数中的leadselect 任务ID,状态,开始时刻, lead(时刻) over(partition by 任务ID order by 时刻) 完成时刻 from 表;至于计算持续时间,比较开始时刻和完成时刻这两个字段就行了,用timestampdiff这个函数
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报