multiple waysMethod 1SELECT t.*FROM table tINNER JOIN (SELECT id,MAX(salary) as MaxSal FROM table GROUP BY id )t1On t1.id = t.idAND t1.MaxSal = t.salaryMethod 2 SELECT name,id,salaryFROM (SELECT *,ROW_NUMBER() OVER (PARTITION BY id ORDER BY salary DESC) AS rn FROM table)tWHERE Rn=1Method 3SELECT t.*FROM table tCROSS APPLY (SELECT MAX(Salary) AS MaxSal FROM table WHERE id = id )t1WHERE t.salary = t1.MaxSal
------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/