Mysql 如何找到“之间的时间差”;肮脏';状态床和;“已完成”;sql中的状态数据库
如何在sql中找到“脏”状态床和“完成”状态床之间的时间差Mysql 如何找到“之间的时间差”;肮脏';状态床和;“已完成”;sql中的状态数据库,mysql,sql,database,Mysql,Sql,Database,如何在sql中找到“脏”状态床和“完成”状态床之间的时间差 ID Cleaning Stage Event Time ====== ============== ============== 790248 Dirty 1/2/2019 5:36 PM 790248 Assigned 1/2/2019 5:58 PM 790248 On Hold 1/2/2019 5:58 PM 79
ID Cleaning Stage Event Time
====== ============== ==============
790248 Dirty 1/2/2019 5:36 PM
790248 Assigned 1/2/2019 5:58 PM
790248 On Hold 1/2/2019 5:58 PM
790248 Assigned 1/2/2019 6:21 PM
790248 In Progress 1/2/2019 6:52 PM
790248 Completed 1/2/2019 7:59 PM
所有的床都是这样。所以我想通过减去脏床和完成床之间的时间来计算每张床的清洁时间。我只有一张床作为例子。谢谢你,你可以使用条件聚合得到这两种状态:
select id, min(case when stage = 'Dirty' then time end) as dirty_time,
max(case when stage = 'Completed' then time end) as completed_time
from t
group by id;
然后,您可以使用timestampdiff()
减去这些值,以所需的单位获得所需的时间