我正在尝试在每个部门中找到第三高的工资。
SELECT DepartmentID
FROM Employees
GROUP BY DepartmentID
这就是我能做的。
我看过类似的文章,但不确定我如何在桌子上做饭。
答案 0 :(得分:3)
您可以使用row_number函数分配薪水顺序,然后获得第三个薪水顺序:
SELECT s.DepartmentID, s.Salary
FROM (
SELECT DepartmentID, Salary, ROW_NUMBER() OVER(PARTITION BY DepartmentID ORDER BY Salary DESC) AS salary_rank
FROM Employees) s
WHERE s.salary_rank=3