【发布时间】:2022-01-27 21:29:38
【问题描述】:
所以我有一个像这样的vehicle_states 表:
vehicle_id | state | updated_at
------------+----------------+-------------------------------
ACX-685 | idle | 2021-12-24 15:13:09.071822+00
ACX-685 | active | 2021-12-24 16:03:41+00
ACX-685 | out-of-service | 2021-12-24 16:15:34.822808+00
ACX-685 | idle | 2021-12-24 16:15:35.822808+00
ACX-685 | active | 2021-12-24 16:40:23+00
ACX-685 | idle | 2021-12-24 16:40:37.436949+00
ACX-685 | active | 2021-12-24 16:40:38+00
对于每种车辆和停止服务状态,我想找出从这种状态过渡所需的时间。车辆停用了多长时间。
我想获得一个表格,其中包含车辆 ID、车辆停用时的时间戳和指定车辆停用时间间隔的第三列,如下所示:
vehicle_id | out_of_service_at | out_of_service_for
------------+-------------------------------+--------------------
ACX-685 | 2021-12-24 16:15:34.822808+00 | 00:00:01
BRT-162 | 2021-12-25 11:26:31.827361+00 | 00:00:27
【问题讨论】:
-
您正在寻找车辆处于“停止服务”状态的时间?为清楚起见,您能否分享 vehicle_id BRT-162 的数据
-
@GeorgeJoseph 是的,没错。 BRT-162 示例不是真实的,但原理是相同的,即 state = 'out-of-service' 行上的特定 updated_at 与非“out-of-state”状态的经过时间之间的差异看到同一辆车(总是及时向前)。谢谢!
标签: sql postgresql