qq1984344801 2022-03-01 13:18 采纳率: 100%
浏览 55
已结题

mysql有俩个字段一个是记录状态的,另一个是记录状态录入时间的,怎么计算一个状态的持续时间

mysql有俩个字段一个是记录状态的,另一个是记录状态录入时间的,怎么计算一个状态的持续时间

  • 写回答

3条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-01 13:33
    关注
    任务ID状态时刻
    1初始化2022-03-01 13:26:00
    1处理中2022-03-02 14:27:00
    1处理完成2022-03-03 15:28:00

    以上面这个数据为例,你是想得到 初始化的时间为 处理中的时刻减去初始化的时刻是吧?
    这个很典型的是要拿到下一行的记录,那么应该用开窗函数中的lead

    select 任务ID,状态,开始时刻, lead(时刻) over(partition by 任务ID order by 时刻) 完成时刻 from 表;
    

    至于计算持续时间,比较开始时刻和完成时刻这两个字段就行了,用timestampdiff这个函数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要