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