题解 | #获取当前薪水第二多的员工#
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719
select e.emp_no, salary, last_name, first_name from employees as e join salaries as s on e.emp_no = s.emp_no where salary=(select s1.salary from salaries as s1 join salaries as s2 on s1.salary <= s2.salary group by s1.salary having count(distinct s2.salary) = 2)
排序问题【子查询+自查询】
子查询:where 中做过滤条件,过滤薪资第二名。
自查询:求薪资第二名的薪资。
新用法:用自查讯算排名,直接套用语法 s1<= s2,按s1 分组,对分组后的s2进行去重并统计数量,该数量等于s1的排名(降序)。
