【发布时间】:2016-06-10 09:54:34
【问题描述】:
我正在使用Greenplum,我有如下数据:
id | val
----+-----
12 | 12
12 | 23
12 | 34
13 | 23
13 | 34
13 | 45
(6 rows)
不知何故,我想要这样的结果:
id | step
----+-----
12 | 12
12 | 11
12 | 11
13 | 23
13 | 11
13 | 11
(6 rows)
它是怎么来的:
首先应该有一个Window function,它基于partition by id执行一个de-aggreagte函数
val列是累计值,我要得到的是步长值。
也许我可以这样做:
select deagg(val) over (partition by id) from table_name;
所以我需要deagg 函数。
感谢您的帮助!
P.S 和 Greenplum 基于 postgresql v8.2
【问题讨论】:
标签: postgresql aggregate greenplum