小编Pie*_*ves的帖子

如何仅在连续行上应用聚合函数?

在 PostgreSQL 9.4 上,我试图在一些连续的行上实现我称之为“聚合函数”的东西。例子:

输入数据:

recipe  prod1   prod2   timestamp
0       5       4       2015-07-02 08:10:34.357
0       2       7       2015-07-02 08:13:45.352
0       7       0       2015-07-02 08:16:22.098
1       3       2       2015-07-02 08:22:14.678
1       9       4       2015-07-02 08:22:56.123
2       2       6       2015-07-02 08:26:37.564
2       1       7       2015-07-02 08:27:33.109
2       0       8       2015-07-02 08:31:11.687
0       3       5       2015-07-02 08:40:01.345
1       4       2       2015-07-02 08:42:23.210
Run Code Online (Sandbox Code Playgroud)

期望的输出:

recipe  prod1_sum   prod2_avg   timestamp_first             timestamp_last
0       14          3.6666      2015-07-02 08:10:34.357     2015-07-02 08:16:22.098
1       12          3           2015-07-02 08:22:14.678     2015-07-02 08:22:56.123
2 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql aggregate-functions window-functions

5
推荐指数
1
解决办法
433
查看次数