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

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

http://www.nowcoder.com/questionTerminal/8d2c290cc4e24403b98ca82ce45d04db

1./*小于最大的最大的就是第二大的
select emp_no ,max(salary) from salaries
where to_date='9999-01-01'
and salary <> (
select max(salary) from salaries
)

2.逆序排列从第二个取(无法取出同样是第二大的)
select emp_no , salary
from salaries
where to_date='9999-01-01'
order by salary desc
limit 1,1

3.可以取出相同第二大的
select emp_no , salary
from salaries
where to_date='9999-01-01'
and salary = (select salary from salaries
group by salary
order by salary desc
limit 1,1);

全部评论
测试了一下,你的第一种方法有问题,取出来的第二高工资和emp_no对应不起来。
点赞 回复
分享
发布于 2021-08-02 14:36

相关推荐

头像
不愿透露姓名的神秘牛友
04-08 00:50
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务