题解 | #获取每个部门中薪水最高的员工相关信息#

获取每个部门中薪水最高的员工相关信息

https://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6

说明

由于聚合问题,一个查询很难完成项目。因此,我们需要多个表或查询。

这里我做了两个临时表,再做查询,思路如代码所示。这样,不仅美观且思路清晰。

希望对你有帮助!

  • 补充说明:这里的to_date字段是为了找出当前(在职)员工 (我刚开始做的时候,没想到!!)
WITH tmp AS (
    SELECT e.dept_no, s.emp_no, s.salary
    FROM dept_emp e
    JOIN salaries s
    ON e.emp_no = s.emp_no
    AND e.to_date = '9999-01-01'
    AND s.to_date = '9999-01-01'
),
max_salary AS (
    SELECT dept_no, MAX(salary) AS salary
    FROM tmp
    GROUP BY dept_no
)
SELECT t.dept_no, t.emp_no, t.salary
FROM tmp t
JOIN max_salary m
ON t.dept_no = m.dept_no
AND t.salary = m.salary
ORDER BY t.dept_no;
#解题##题解##牛客创作赏金赛##面试题刺客退退退#
全部评论

相关推荐

仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务