select dept_no,emp_no,salary from (select d.dept_no,d.emp_no,s.salary, dense_rank()over(partition by dept_no order by salary desc) as rk from dept_emp as d left join salaries as s on d.emp_no = s.emp_no ) as rkk where rk = 1 order by dept_no
题目:SQL211 获取每个部门中薪水最高的员工相关信息
1、逻辑:表连接→排序窗口函数(给部门max值编号rk)→where筛选排序1的
2、复习:rank()1134、dense_rank()1123、row_number()1234
3、注意:排序窗口函数 dense_rank()over(partition by...order by...desc) 不要漏了
检查select 字段中间的逗号

京公网安备 11010502036488号