Postgresql
日期時間累進和 PostgreSQL
我在這裡的第一個問題,但我查看了許多其他地方,找不到我的問題的答案。
id | track_seg_id | time ----+--------------+--------------------- 1 | 0 | 2020-05-23 07:45:32 2 | 0 | 2020-05-23 07:46:04 3 | 0 | 2020-05-23 07:46:53 4 | 0 | 2020-05-23 07:46:58 5 | 0 | 2020-05-23 07:47:03 6 | 0 | 2020-05-23 07:47:08 7 | 0 | 2020-05-23 07:47:11 8 | 0 | 2020-05-23 07:47:16 9 | 0 | 2020-05-23 07:47:20 10 | 0 | 2020-05-23 07:47:23
我想要做的是
progressive sum
從第一行到下一行獲得幾秒鐘。id | track_seg_id | time | prog ----+--------------+---------------------+--------------------- 1 | 0 | 2020-05-23 07:45:32 | 0 2 | 0 | 2020-05-23 07:46:04 | 32 3 | 0 | 2020-05-23 07:46:53 | 81 4 | 0 | 2020-05-23 07:46:58 | 86 5 | 0 | 2020-05-23 07:47:03 | 91 6 | 0 | 2020-05-23 07:47:08 | 96 7 | 0 | 2020-05-23 07:47:11 | 99 8 | 0 | 2020-05-23 07:47:16 | 104 9 | 0 | 2020-05-23 07:47:20 | 108 10 | 0 | 2020-05-23 07:47:23 | 111
我打了不同的資源,計算累計總和執行總和計算累計總和,但我無法解決這個問題。
我認為您的意思是“秒”,而不是“分鐘”,並且您的值略有偏差。
如果我的懷疑是正確的,您可以使用 window 函式
first_value
並使用它extract
來提取秒數:SELECT *, EXTRACT(epoch FROM time - first_value(time) OVER (ORDER BY time) ) FROM mytable; id | track_seg_id | time | date_part ----+--------------+---------------------+----------- 1 | 0 | 2020-05-23 07:45:32 | 0 2 | 0 | 2020-05-23 07:46:04 | 32 3 | 0 | 2020-05-23 07:46:53 | 81 4 | 0 | 2020-05-23 07:46:58 | 86 5 | 0 | 2020-05-23 07:47:03 | 91 6 | 0 | 2020-05-23 07:47:08 | 96 7 | 0 | 2020-05-23 07:47:11 | 99 8 | 0 | 2020-05-23 07:47:16 | 104 9 | 0 | 2020-05-23 07:47:20 | 108 10 | 0 | 2020-05-23 07:47:23 | 111 (10 rows)