题解 | 子查询+窗口函数
获取每个部门中当前员工薪水最高的相关信息
https://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6
select da.dept_no,da.emp_no,da.salary from ( select d.dept_no,d.emp_no,s.salary,rank()over(partition by d.dept_no order by s.salary desc) r from dept_emp d left join salaries s on d.emp_no=s.emp_no ) da #窗口函数建立新字段,子查询查询新表格 where r=1
涉及到既要分组聚合又要取到非聚合字段,最好、最简洁的办法就是用 子查询+窗口函数 。