查找当前薪水排名第二多的员工(可能有多个)

获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

http://www.nowcoder.com/questionTerminal/c1472daba75d4635b7f8540b837cc719

薪水第二多的员工可能有多个,所以要重点确定第二多的薪水salary的值
利用子查询:获取salary值第二大的值🤣
-- 工资第二多的员工可能有多个
SELECT 
  e.emp_no,
  s.salary,
  e.last_name,
  e.first_name 
FROM
  employees e 
  INNER JOIN salaries s 
    ON e.emp_no = s.emp_no 
WHERE s.to_date = '9999-01-01' 
  AND s.salary = 
  (SELECT 
    MAX(salary) 
  FROM
    salaries 
  WHERE to_date = '9999-01-01' and salary < 
    (SELECT 
      MAX(salary) 
    FROM
      salaries where to_date = '9999-01-01')) 


全部评论
又简洁又好,谢了
1
送花
回复 分享
发布于 2021-01-24 15:23
学到了,第二大的就是小于最大的中的最大的!
1
送花
回复 分享
发布于 2021-04-22 10:53
秋招专场
校招火热招聘中
官网直投
询问下 你们为什么要加to_date = '9999-01-01' 这个限制条件
点赞
送花
回复 分享
发布于 2021-04-08 16:07
看了那么多,只有你这是最清晰明了的,感谢!
点赞
送花
回复 分享
发布于 2022-01-16 12:52
emm 还是套娃靠谱
点赞
送花
回复 分享
发布于 2022-05-16 21:10

相关推荐

19 收藏 评论
分享
牛客网
牛客企业服务