हम्म । . . आप निम्न का उपयोग करके अंतिम गैर-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;