sql >> Databáze >  >> RDS >> Oracle

Scénáře a kroky získají problém poslední změny

Hmmm . . můžete získat nejdříve datum 44 po posledním datu mimo 44 pomocí:

select min(start_date)
from t
where t.start_date > (select max(t2.start_date)
                      from t t2
                      where t2.step_key <> 44
                     );

Myslím, že to je to, co žádáte.

Můžete také použít funkce okna. Za předpokladu, že poslední řádek je "44":

select t.*
from (select t.*,
             row_number() over (order by start_date) as seqnum,
             row_number() over (partition by step_key order by start_date) as seqnum_sk
      from t
     ) t
where step_key = 44 and seqnum = seqnum_sk
order by start_date
fetch first 1 row only;


  1. Jak vytvořit index v SQL pro zvýšení výkonu

  2. Seznam uložených procedur/funkcí Příkazový řádek Mysql

  3. Připojte se k Oracle DB z Spring-jdbc pomocí ověřování Oracle Wallet

  4. Zobrazit data z řádku mysql jako sloupec v php