First get a list of top 10 salaries for each deptartmentSelect deptId, SalaryFrom payroll AWhere (Select count(*) From payroll Where deptId = A.deptId and Salary > A.Salary) < 10
then average them...Select deptId, AverageSalary = avg(Salary)From payroll AWhere (Select count(*) From payroll Where deptId = A.deptId and Salary > A.Salary) < 10Group By deptId--although you may have to do:Select deptId, AverageSalary = avg(Salary)(Select deptId, SalaryFrom payroll AWhere (Select count(*) From payroll Where deptId = A.deptId and Salary > A.Salary) < 10) BGroup By deptId
Corey