Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何找到“之间的时间差”;肮脏';状态床和;“已完成”;sql中的状态数据库_Mysql_Sql_Database - Fatal编程技术网

Mysql 如何找到“之间的时间差”;肮脏';状态床和;“已完成”;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

如何在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
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()
减去这些值,以所需的单位获得所需的时间