次の PostgreSQL クエリを使用して、異なるソース ID で終了時刻と次の開始時刻の時間差を見つけました。
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;
私がやろうとしているのは、diff(一時的な結果、どこにも保存されていない)に表示される結果で列の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