题解 | #获取当前薪水第二多的员工的emp_no以及其对应的薪水salary#
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
http://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719
思路很简单,首先做一次max,把第一大的拿出来,之后查询全部数据,将第一大的数据t出去
最后使用第一大数据t出去的数据进行一个查询即可
with first_max as (select s.emp_no,max(s.salary) AS mex,e.last_name,e.first_name
from salaries s JOIN
employees e
on s.emp_no = e.emp_no)
,sheng as (select s.emp_no,s.salary,e.last_name,e.first_name
from salaries s,
employees e,first_max f
where s.emp_no = e.emp_no
and f.mex<>s.salary)
select * from sheng
where salary = (
select max(salary) res from sheng )