【发布时间】:2020-07-13 03:08:19
【问题描述】:
我有一个日期时间列。我需要导出从每小时的第一个值到最后一个值的总分钟数列,按小时分组,但是,在重叠事件的情况下,时间应该分布在两个小时之间。还有一种情况,如果两个连续记录之间经过的时间超过30分钟,则必须忽略。
下面,我分三个阶段进行了解释,原始、中间(计算运行总数)和最终。
而且,我计划在同一时间获取每小时增量数据,因此,我们如何正确地将其与旧数据合并是另一个问题。
样本数据:
Moves_TS
1/4/2020 10:00
1/4/2020 10:25
1/4/2020 10:42
1/4/2020 10:56
1/4/2020 10:59
1/4/2020 11:02
1/4/2020 11:24
1/4/2020 11:43
1/4/2020 11:55
1/4/2020 12:26
1/4/2020 12:29
中间层:
Moves_TS Hour Running Total
1/4/2020 10:00 10 0
1/4/2020 10:25 10 25
1/4/2020 10:42 10 42
1/4/2020 10:56 10 56
1/4/2020 10:59 10 60
1/4/2020 11:02 11 2
1/4/2020 11:24 11 24
1/4/2020 11:43 11 43
1/4/2020 11:55 11 55
1/4/2020 12:26 12 0
1/4/2020 12:29 12 3
最终输出:
Hour Work done/Hour
10 60
11 55
12 3
【问题讨论】:
标签: sql postgresql window-functions cumulative-sum