Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment obtenir les valeurs pour la prochaine et la prochaine date suivante dans une table

Vous pouvez utiliser les fonctions de la fenêtre pour cela

    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 

La sortie est

NextVal NextPrice SecondVal SecondPrice
2       101       3         102