Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Oracle SQL中的上一个值相乘_Sql_Oracle_Analytical - Fatal编程技术网

与Oracle SQL中的上一个值相乘

与Oracle SQL中的上一个值相乘,sql,oracle,analytical,Sql,Oracle,Analytical,它很容易与Excel电子表格中的前一行相乘(或求和/除/等等),但是,到目前为止,我在Oracle SQL中还不能做到这一点 A B C 199901 3.81 51905 199902 -6.09 48743.9855 199903 4.75 51059.32481 199904 6.39 54322.01567 199905 -2.35 53045.4483 199906 2.65 54451.15268 199907

它很容易与Excel电子表格中的前一行相乘(或求和/除/等等),但是,到目前为止,我在Oracle SQL中还不能做到这一点

A          B    C
199901   3.81   51905
199902  -6.09   48743.9855
199903   4.75   51059.32481
199904   6.39   54322.01567
199905  -2.35   53045.4483
199906   2.65   54451.15268
199907   1.1    55050.11536
199908  -1.45   54251.88869
199909   0      54251.88869
199910   4.37   56622.69622

Above, column B is static and column C has the formula as:
    ((B2/100)+1)*C1
    ((B3/100)+1)*C2
    ((B4/100)+1)*C3
示例:第1行的51905乘以第2行的-6.09: (-6.09/100)+1)*51905


我一直在尝试分析和窗口功能,但尚未成功。LAG函数可以给出当前行中的前一行值,但不能给出计算的前一行值。

这可以在

演示:


您看过oracle的超前和滞后分析函数吗?如果您需要更多帮助,请告诉我初始值是51905吗?谢谢。它对我有用。显然,我还没有开始使用与模型相关的函数。一个令人兴奋的新事物
select * 
FROM (
     SELECT t.*,
       row_number() over (order by a) as rn
     from table1 t
)
MODEL
  DIMENSION BY (rn)
  MEASURES ( A, B,  0 c )
  RULES (
      c[rn=1] = 51905, -- value in a first row
      c[rn>1] = round( c[cv()-1] * (b[cv()]/100 +1), 6 )   
  )
  ;
| RN |      A |     B |            C |
|----|--------|-------|--------------|
|  1 | 199901 |  3.81 |        51905 |
|  2 | 199902 | -6.09 |   48743.9855 |
|  3 | 199903 |  4.75 | 51059.324811 |
|  4 | 199904 |  6.39 | 54322.015666 |
|  5 | 199905 | -2.35 | 53045.448298 |
|  6 | 199906 |  2.65 | 54451.152678 |
|  7 | 199907 |   1.1 | 55050.115357 |
|  8 | 199908 | -1.45 | 54251.888684 |
|  9 | 199909 |     0 | 54251.888684 |
| 10 | 199910 |  4.37 | 56622.696219 |