sql >> Databasteknik >  >> RDS >> Oracle

Scenarier och steg får senaste ändringsproblem

Hmmm . . . du kan få det tidigaste 44-datumet efter det senaste icke-44-datumet med:

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

Jag tror att det är detta du frågar efter.

Du kan också använda fönsterfunktioner. Förutsatt att den senaste raden är "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. Hur väljer jag från Bulk Collected Table of Records Type

  2. Granskning av PostgreSQL med pgAudit

  3. MySQL - Vilken Hash Algo ska jag använda för detta?

  4. Mysql ordna efter kolumn med Unicode-tecken