相关疑难解决方法(0)

sql滑动窗口 - 在间隔上查找最大值

我有一个滑动窗口的问题.具体来说,我不知道我的窗口应该从哪里开始以及应该在哪里结束.我知道我的间隔/窗口的大小.

我需要找到窗口的开始/结束,以提供最佳(或最差,取决于您如何看待它)的情况.

这是一个示例数据集:

 value  | tstamp
 100    | 2013-02-20 00:01:00
 200    | 2013-02-20 00:02:00
 300    | 2013-02-20 00:03:00
 400    | 2013-02-20 00:04:00
 500    | 2013-02-20 00:05:00
 600    | 2013-02-20 00:06:00
 500    | 2013-02-20 00:07:00
 400    | 2013-02-20 00:08:00
 300    | 2013-02-20 00:09:00
 200    | 2013-02-20 00:10:00
 100    | 2013-02-20 00:11:00
Run Code Online (Sandbox Code Playgroud)

让我说我知道我的间隔需要5分钟.所以,我需要知道5分钟间隔中包含的值和时间戳,其中"值"的总和最高.在上面的例子中,从'2013-02-20 00:04:00'到'2013-02-20 00:08:00'的行会给我400 + 500 + 600 + 500 + 400 = 2400的总和,这是该表中超过5分钟的最高值.

如果需要,我不反对使用多个表.但我正试图找到一个"最佳案例场景"间隔.结果可以是任何一种方式,只要它们净化间隔.如果我在该间隔内获得所有数据点,它仍然有效.如果我得到起点和终点,我也可以使用它们.

我发现了SQL的几个滑动窗口问题,但是没有找到窗口大小是已知因素的任何地方,并且起点未知.

sql postgresql intervals sliding-window postgresql-8.1

3
推荐指数
1
解决办法
1685
查看次数