1
我已經使用以下PostgreSQL查詢來查找不同源ID的結束時間和下一個開始時間之間的時間差。如何在單獨的列中更新SQL查詢的結果
SELECT obu_id, trip_id, start_time, end_time, dwell_time
, end_time - LEAD(start_time) OVER(PARTITION BY obu_id ORDER BY start_time) AS diff
FROM clean_trips_byobu;
我所要做的是更新的結果差異正在顯示的列dwell_time(臨時結果,它不被存儲在任何地方),並插入一個值「-1」的,而不是空的空間。請參考下面的截圖。
期望的結果:
obu_id trip_id start_time end_time dwell_time diff
2 135736 2004-10-29 15:22:14 2004-10-29 16:13:37 -02:01:42 -02:01:42
2 135738 2004-10-29 18:15:19 2004-10-29 18:28:37 -1
3 137826 2005-03-17 17:56:41 2005-03-17 18:02:31 -00:05:30 -00:05:30
3 137826 2005-03-17 18:08:01 2005-03-17 18:12:10 -00:07:51 -00:07:51
3 137826 2005-03-17 18:20:01 2005-03-17 18:27:51 -14:51:24 -14:51:24
我已經嘗試過了,但它仍然顯示了以下錯誤:錯誤:合併類型的間隔和整數不能匹配。請讓我知道如何克服這個錯誤。非常感謝幫助 – ParveenArora
@ParveenArora:你的問題沒有提供列的數據類型,也沒有提供適當的值,只是「-1」。請多付出一點努力。我添加了一個可能的修復。可能仍然與您的列類型不兼容。 –
親愛的@Erwin Brandsetter我很抱歉在我以前的混亂。我已經按照我的要求更新了這個問題,請看看。道歉! – ParveenArora