Saya menyadari Anda meminta ini di Oracle. Saya tidak dapat membantu Anda di sana.
Tapi, mungkin jika Anda melihat solusinya di MSSQL/TSQL, itu akan membantu?
select
d.Salary
,d.Department
from
(
select
r.Salary
,r.Department
,row_number() over(
partition by r.Department
order by r.Salary desc) as RowNumber
from HumanResources as r
) as d
where d.RowNumber < 3
Semoga berhasil!