Seems like what you want is thisDECLARE @EMPSal table(EmpName varchar(20),[Month] int,Salary money)insert into @EmpSalSELECT 'Ram',3,15000.00 union allSELECT 'Sita',3,10000.00 union allSELECT 'Shankar',3,12500.00 union allSELECT 'Ram',5,17000.00 union allSELECT 'Shankar',8,15000.00 union allSELECT 'Sita',7,15000.00 union allSELECT 'Ram',12,19000.00 SELECT t1.EmpName,MAX(t1.Salary) AS SecMaxSalFROM @EmpSal t1LEFT JOIN (SELECT EmpName,MAX(Salary) AS MaxSal FROM @EmpSal GROUP BY EmpName) t2ON t2.EmpName=t1.EmpNameAND t2.MaxSal=t1.SalaryWHERE t2.EmpName IS NULLGROUP BY t1.EmpNameoutput---------------------------EmpName SecMaxSal-------------------- ---------------------Ram 17000.00Shankar 12500.00Sita 10000.00