sql >> Database >  >> RDS >> Oracle

Scenario's en stappen krijgen een probleem met de laatste wijziging

Hmmm. . . je kunt de vroegste 44-datum na de laatste niet-44-datum krijgen met:

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

Ik denk dat dit is waar je om vraagt.

U kunt ook vensterfuncties gebruiken. Ervan uitgaande dat de meest recente rij "44" is:

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. Een kringverwijzing proberen te vermijden

  2. SQL Server 2000 - Gekoppelde server

  3. RESTful Web Services aanroepen vanuit PostgreSQL procedure/functie

  4. Een subquery toevoegen aan een al gigantische query