【发布时间】:2016-04-15 21:23:19
【问题描述】:
我想计算前一列和当前列之间的差异,并将其设为一个名为increase 的新列。为此,我使用lag window function。由于不存在前一列,因此未定义第一列的值。我知道第三个参数指定了默认值。但是,这取决于。对于第一行,我想使用另一列的值,例如当前行中的count 之一。这假设增加 0 以计入我需要的第一行。将列名指定为 lag 函数的第三个参数不能正常工作,使用 0 也不能正常工作。怎么办?我得到了奇怪的结果,例如相当随机的结果,甚至是负数。
SELECT *, mycount - lag(mycount, 1) OVER (ORDER BY id, messtime ASC) AS increase FROM measurements;
窗口函数也不能嵌套:
ERROR: window function calls cannot be nested
【问题讨论】:
-
请提供一些样本数据(十几行)以及查询该样本数据的正确结果。
标签: postgresql lag window-functions