【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】 文章被收录于专栏
少壮不努力,老大勤刷题