私は以前の(遅れ)計算値を取得したいですか?PostgreSQL - 前回(遅れ)の計算値を得るには
id | value
-------|-------
1 | 1
2 | 3
3 | 5
4 | 7
5 | 9
私は何を達成しようとしています。これです:
id | value | new value
-------|-------|-----------
1 | 1 | 10 <-- 1 * lag(new_value)
2 | 3 | 30 <-- 3 * lag(new_value)
3 | 5 | 150 <-- 5 * lag(new_value)
4 | 7 | 1050 <-- 7 * lag(new_value)
5 | 9 | 9450 <-- 9 * lag(new_value)
私が試してみました:
SELECT value,
COALESCE(lag(new_value) OVER() * value, 10) AS new_value
FROM table
エラー:
ERROR: column "new_value" does not exist
が見えますか? –
@JuanCarlosOropezaはいメイトです。私はここで何を使うべきですか?再帰CTEまたはラテラル結合? – Willem
再帰CTE。簡単にする必要があります。より多くのヘルプが必要な場合は教えてください。https://www.postgresql.org/docs/9.4/static/queries-with.html –