sql >> データベース >  >> RDS >> Oracle

以前の記録情報を取得する方法

    前の日付の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のドキュメントで読むことができます。




    1. Oracle(+)演算子

    2. クエリ結果から結果のランダムサンプルを選択します

    3. QoQを実行した後、目的の出力が得られない

    4. PHPですでにチェックされているチェックボックスを更新する