[英]Compute a value that uses result from previous row
我想為當前行的 function 的每一行計算一個值,以及上一行的結果。 我手上的具體function是:
v(i) = k(i) * v(i-1)
這行不通,但總體思路是這樣的
SELECT k * LAST_VALUE(cum) as cum from numbers
或偽代碼:
prev_val = 10
for r in rows
prev_val = prev_val + prev_val * r.k
r.v = prev_val
這是一個示例輸入表:
v | k |
---|---|
1個 | 0 |
1個 | 3個 |
1個 | 2個 |
1個 | 5個 |
以及所需的 output:
v | k |
---|---|
1個 | 0 |
4個 | 3個 |
12 | 2個 |
72 | 5個 |
每行中 v 的值的計算方法是將為前一行計算的值乘以 (k+1)。 例如 1 * (3+1) = 4、4*(2+1) = 12。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.