首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在sql中找出“脏”状态床与“已完成”状态床的时间差

如何在sql中找出“脏”状态床与“已完成”状态床的时间差
EN

Stack Overflow用户
提问于 2019-08-08 18:44:06
回答 1查看 31关注 0票数 1

如何在sql中找到“脏”状态床与“已完成”状态床之间的时间差。

代码语言:javascript
运行
复制
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

所有的床都是这样的。所以我想计算每一张床的清洁时间,减去上面脏的和完成的时间,我只有一张床作为例子。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 20:57:41

可以使用条件聚合获得这两种状态:

代码语言:javascript
运行
复制
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()减去这些,并获得您想要的单位的时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57418915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档