假设我有一个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;
编辑
这是一个最小的例子来支持如何窗口分区中访问先前输出行的问题。我其实不想要一笔钱。
这只是一个例子,我想在case语句和计算中使用之前的输出行。 – AJcodez