Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak uzyskać wartości dla następnej i następnej następnej daty w tabeli?

Możesz do tego użyć funkcji okna

    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 

Wyjście to

NextVal NextPrice SecondVal SecondPrice
2       101       3         102


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmodyfikuj wartość węzła XML — odpowiednik UpdateXML dla Oracle 12c

  2. Skonfiguruj SQL*Plus, aby zwracał tylko dane

  3. Oracle Concurrent Manager — CP Analyzer dla pakietu E-Business Suite

  4. Podziel ciąg według pozycji ogranicznika za pomocą Oracle SQL

  5. Warunkowa klauzula WHERE z instrukcją CASE w Oracle