gpt4 book ai didi

mysql - 如何在sql中查找 "dirty'状态床和 "Completed"状态床之间的时间差

转载 作者:搜寻专家 更新时间:2023-10-30 23:26:15 24 4
gpt4 key购买 nike

如何在 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

这样它适用于所有床。所以我想通过减去 dirty 和 completed 之间的时间来计算每张床的清洁时间上面我只有一张床作为例子。谢谢你

最佳答案

您可以使用条件聚合获取两种状态:

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() 减去这些并以您想要的单位获得您想要的时间。

关于mysql - 如何在sql中查找 "dirty'状态床和 "Completed"状态床之间的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57418915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com