假設我有一個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