sql >> Database teknologi >  >> RDS >> Oracle

Scenarier og trin får sidste ændringsproblem

Hmmm. . . du kan få den tidligste 44-dato efter den sidste ikke-44-dato ved at bruge:

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

Jeg tror, ​​det er det, du beder om.

Du kan også bruge vinduesfunktioner. Forudsat at den seneste række er "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. Brug af resultater fra en MySQL-forespørgsel i en anden forespørgsel i et PHP-miljø

  2. MySQL Left Join Subselect

  3. Sådan hentes felt fra MySQL-forespørgselsresultat i bash

  4. Jeg har en trigger autonom, men udfører kun én gang i samme session