Использование lead()
:
select t.dept, t.date as arrival, t.next_arrival
from (select t.*, lead(date) over (partition by dept order by date) as next_arrival
from t
) t
where t.next_arrival is not null;
Если вас устраивают все строки в наборе результатов, а next_arrival
равно NULL
, то подзапрос вам не нужен.