используйте select max(dt)
вместо select *
Редактировать : после перечитывания вашего вопроса и сравнения желаемого результата вы, вероятно, захотите минимальную дату дат в пределахмаксимальный год .
В этом случае утверждение будет
with dates as
(
select add_months(sysdate,-2)dt from dual
union
select add_months(sysdate,-1) from dual
union
select add_months(sysdate,2)from dual
union
select add_months(sysdate,3) from dual
)
select min(dt) from dates
where trunc(dt,'YYYY') = (select max(trunc(dt, 'YYYY')) from dates)