【发布时间】:2016-01-06 18:36:49
【问题描述】:
假设我有一个带有quantity 列的表。
CREATE TABLE transfers (
user_id integer,
quantity integer,
created timestamp default now()
);
我想使用窗口函数迭代地遍历分区,但访问输出行,而不是输入表行。
要访问输入表行,我可以这样做:
SELECT LAG(quantity, 1, 0)
OVER (PARTITION BY user_id ORDER BY created)
FROM transfers;
我需要访问上一个输出行来计算下一个输出行。如何访问输出中的滞后行?比如:
CREATE VIEW balance AS
SELECT LAG(balance.total, 1, 0) + quantity AS total
OVER (PARTITION BY user_id ORDER BY created)
FROM transfers;
编辑
这是一个支持如何访问窗口分区中的前一个输出行的最小示例。我其实不想要一个总和。
【问题讨论】:
标签: postgresql