I have a table EmpDetails:
EmpDetails
DeptID EmpName Salary Engg Sam 1000 Engg Smith 2000 HR Denis 1500 HR
select * from ( select a.* from EmpDetails a right join (select DeptID,max(salary) as Salary from EmpDetails group by DeptID) b on b.DeptID=a.DeptID and b.salary=a.salary ) as c group by c.DeptID;