计算其他列中唯一ID的时差

时间:2018-12-14 17:17:39

标签: sql hiveql

我有一个包含4列的SQL表,如下所示: https://imgur.com/a/3njV1yp

现在,我想计算开始停止消息之间的时间,以获取唯一的订单ID。

我需要的实际上是一个看起来像这样的结果表: https://imgur.com/a/ROrH56j

有人可以帮我吗?尝试了很长时间,但没有正确的结果。

更新:示例表已简化。还有其他消息类型,例如准备就绪,退出,完成等,因此最小和最大日期在这里不起作用。

我的约会时间也像是:2018-10-12T15:20:00Z

1 个答案:

答案 0 :(得分:-1)

SELECT order, max(datetime)-min(datetime) as time
from table
where status in('start','stop')
group by order

尝试一下。