Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So erhalten Sie die Werte für das nächste und das nächstnächste Datum in einer Tabelle

Sie können dafür die Fensterfunktionen verwenden

    select  
    lead(CVal, 1) over(order by Effective_Date) as NextVal 
    ,lead(CPrice, 1) over(order by Effective_Date) as NextPrice  
    ,lead(CVal, 2) over(order by Effective_Date) as SecondVal 
    ,lead(CPrice, 2) over(order by Effective_Date) as SecondPrice

    from tbl where Effective_Date >=  '31-DEC-19'
    where rownum = 1
    order by Effective_Date 

Ausgabe ist

NextVal NextPrice SecondVal SecondPrice
2       101       3         102