select name,salary ,dept_name from (select name,salary,dept_name, row_number() over(partition by dept_name order by salary desc )  as rk from dept ) tmp where tmp.rk=1;