前の日付のRandom_1をプルするには、LAG()
を使用します そのような機能:
select ... , lag(t1.random_1) over (order by t1.date_key), .....
from table1 t1 join table2 t2 on t1.date_key = t2.date_key
...
(他の列についても同じです)。 LAG()
の結果に注意してください もちろん、NULL
になります 最初の行の場合-「前の」値がないため。最初の行に何か他のものが必要な場合は、すべてをCOALESCE()
でラップします 。
また、id
がある場合 ある種ので、id
で参加します 同様に、異なるIDの日付を混在させたくない場合もあります。 LAG()
関数(および他のほとんどすべての分析関数)を使用すると、partition by id
できます。 日付による注文に加えて。定義と例は、Oracleのドキュメントで読むことができます。
。