题解 | #获取每个部门中当前员工薪水最高的相关信息#窗口函数yyds
获取每个部门中当前员工薪水最高的相关信息
http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6
看到这个题目第一眼首先想到做一个中间表:
部门号,员工号,薪水,薪水排名
然后在此基础上取薪水排名第一的信息,所以既然是排名那就是考察窗口函数:
select dept_no, emp_no,salary maxSalary from (select a.dept_no,a.emp_no,salary,row_number() over(partition by dept_no order by salary desc) rn from dept_emp a join salaries b on a.emp_no = b.emp_no) c where rn = 1 order by dept_no