题解 | #获取每个部门中薪水最高的员工相关信息#
获取每个部门中薪水最高的员工相关信息
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;
#解题##题解##牛客创作赏金赛##面试题刺客退退退#