我正在使用一个雇员和信息表,其格式为(Fname,Lname,Ssn,Bdate,Salary,Dno),其中Dno是雇员工作的部门编号
我正在尝试创建一个查询,该查询将返回与薪水最高的人在同一部门工作的雇员的姓名。我知道我需要按Dno分组,但如何根据另一列对组进行排序呢?
我一直在尝试
SELECT Fname, Lname
FROM EMPLOYEES
GROUPBY Dno
HAVING max(salary) in (dno)
我也试过做嵌套选择,但我似乎不能得到正确的排序。我是新的SQL,所以任何建议感谢我理解它可能真的很简单,我只是不能概念化它。
2条答案
按热度按时间elcex8rz1#
编写一个子查询,获取工资最高的雇员的部门编号:
然后,您可以使用它来筛选同一部门中的员工。
ugmeyewa2#
Barmar的回答解决了问题;但是,如果您想查看每个部门中每个员工的工资排名,另一个解决方案是使用一个公用表函数来计算排名,然后从该结果中选择排名第一的任何员工。
你可以去掉where子句,查看公司按雇员、部门和工资的整体排名。