【Mysql】题目要求:查找薪水排名第二多的员工编号emp_no、薪水salary、.....

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

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

题目要求:查找薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不能使用order by完成。

个人思路:与之前的题目相同,需考虑多人领取相同金额的薪水。这里不能用order by,可以考虑用max套用max查询出第二高的薪水。

代码

select s.emp_no,
       s.salary, 
       e.last_name, 
       e.first_name
from salaries s join employees e on s.emp_no=e.emp_no
where s.salary =(select max(salary) as salary
                 from salaries
                 where salary < (select max(salary) from salaries)
                )

运行时间:40ms, 占用内存5428KB。应该再考虑怎么再优化一下。

牛客题霸-SQL篇【Mysql】 文章被收录于专栏

少壮不努力,老大勤刷题

全部评论

相关推荐

许愿ssp的咸鱼很不想泡池子:import python as pyhton
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务