Oracle
 sql >> база данни >  >> RDS >> Oracle

Сценариите и стъпките получават проблем с последната промяна

Хммм . . . можете да получите най-ранната дата 44 след последната не-44 дата, като използвате:

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

Мисля, че това е, което питате.

Можете да използвате и прозоречни функции. Ако приемем, че последният ред е "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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите застояла статистика

  2. възможно ли е да има генератор на буквено-цифрова последователност в sql

  3. Как да получите дефиниция на таблица в Oracle?

  4. Предайте SELECT STATEMENT като IN параметър за процедура и изпълнение в Oracle

  5. Oracle Style Joins в SQL Server