【发布时间】:2020-01-07 06:00:12
【问题描述】:
例如,我有以下查询和表:
SELECT generate_series * 5 as num
FROM generate_series(1, 5)
+-----+
| val |
+-----+
| 5 |
| 10 |
| 15 |
| 20 |
| 25 |
+-----+
但是我想取上一行的 val 并不断地将它乘以 5,这样我就得到了表格:
+-----+
| val |
+-----+
| 5|
| 25|
| 125|
| 625|
| 3125|
+-----+
我知道我可以直接使用 5 ^ row_number,但我需要解决的问题要求我设计查询以便能够引用上一行计算的 val
【问题讨论】:
-
源表为每日股价报价
-
使用
5 ^ n,然后将查询用作子查询,并在外部查询中使用lag来访问上一行的计算值。
标签: sql postgresql