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

获取当前薪水第二多的员工的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-04-22 10:53
又简洁又好,谢了
1 回复 分享
发布于 2021-01-24 15:23
emm 还是套娃靠谱
点赞 回复 分享
发布于 2022-05-16 21:10
看了那么多,只有你这是最清晰明了的,感谢!
点赞 回复 分享
发布于 2022-01-16 12:52
询问下 你们为什么要加to_date = '9999-01-01' 这个限制条件
点赞 回复 分享
发布于 2021-04-08 16:07

相关推荐

牛客845590724号:单学校就够拷打了
点赞 评论 收藏
分享
04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
感谢信收割机Rain:他昨天还和我打瓦,今天咋这样发邮件😅
点赞 评论 收藏
分享
评论
20
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务