SQL查询逻辑

han*_*ant 1 sql oracle logic lag analytical

我有以下数据集

       a      b      c
      `1`     2      3
       3      6      9  
       9      2      11 
Run Code Online (Sandbox Code Playgroud)

如您所见,列a的第一个值是固定的(即1),但是从第二行开始,它会获取前一个记录的列c的值.

列b的值是随机的,列c的值计算为c = a + b

我需要编写一个sql查询,它将以上述格式选择这些数据.我尝试使用滞后函数编写,但无法实现.

请帮忙.

编辑:b只存在于表中,a and c需要根据值计算b.

Hanumant

Rob*_*ijk 5

SQL> select a
  2       , b
  3       , c
  4    from dual
  5   model
  6         dimension by (0 i)
  7         measures (0 a, 0 b, 0 c)
  8         rules iterate (5)
  9         ( a[iteration_number] = nvl(c[iteration_number-1],1)
 10         , b[iteration_number] = ceil(dbms_random.value(0,10))
 11         , c[iteration_number] = a[iteration_number] + b[iteration_number]
 12         )
 13   order by i
 14  /

         A          B          C
---------- ---------- ----------
         1          4          5
         5          8         13
        13          8         21
        21          2         23
        23         10         33

5 rows selected.
Run Code Online (Sandbox Code Playgroud)

问候,
Rob.