获取当前第二多的员工

获取当前薪水第二多的员工的emp_no以及其对应的薪水salary,不准使用order by

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


select e.emp_no,max(s.salary),e.last_name,e.first_name from employees as e
inner join salaries as s
on e.emp_no = s.emp_no
where to_date = '9999-01-01'
and salary < (select max(salary) from salaries as s where s.to_date = '9999-01-01' )


全部评论
这样子的代码过不了呀,因为你的那个max(salary) 跟emp_no不是同一个人的,对不上号,最外面不能用max求第二大的薪水,只能在where条件中查出第二大的薪水然后相等才可以的
23 回复 分享
发布于 2020-12-25 10:34
这种写法的前提是sql_mode=only_full_group_by 这种模式要先关闭掉,因为聚合函数引用了未分组的列
6 回复 分享
发布于 2020-10-29 18:47
这个是不对的,应为max(salary)和 emp_no不是一个人,
3 回复 分享
发布于 2021-10-27 10:03
这种写法,mysql过不了,实际输出与标准输出只有薪水是相同的
2 回复 分享
发布于 2021-04-29 09:43
请问一下,为什么把where to_date = "9999-01-01"这一段改成where e.to_date ="9999-01-01" and s.to_date = "9999-01-01"或者where e.to_date ="9999-01-01" and s.to_date = e.to_date就无法通过呢?
1 回复 分享
发布于 2020-04-14 10:01
总感觉这种答发不规范
1 回复 分享
发布于 2020-10-17 23:58
结果不对是因为,聚合函数的结果与非聚合属性不一定是对应的
1 回复 分享
发布于 2021-09-02 19:25
max不加分组报错啊!
1 回复 分享
发布于 2021-09-08 14:58
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 salary<>(select max(salary) from salaries)) 再加一层子查询就可以了, 即使有多个相同的第二多工资的人, 也可以一并提取
1 回复 分享
发布于 2021-12-30 15:09
这种写法mysql 8.0过不了,用sqlite 3.7.9才能过,难道是用了2组测试用例?
4 回复 分享
发布于 2021-01-07 15:53
为什么要加一句 to_date = '9999-01-01'?不加也能跑通
3 回复 分享
发布于 2021-07-09 11:13
同问
点赞 回复 分享
发布于 2020-04-16 16:31
select e.emp_no,max(s.salary),e.last_name,e.first_name from employees as e left join salaries s on e.emp_no = s.emp_no where s.to_date='9999-01-01' and salary < (select max(salary) from salaries as s where s.to_date = '9999-01-01' ) 可以通过呀,我这么写通过了
点赞 回复 分享
发布于 2020-08-05 15:45
坑啊坑啊坑啊
点赞 回复 分享
发布于 2020-12-25 12:51
写的啥玩意儿
点赞 回复 分享
发布于 2021-05-14 17:50
啥玩意,提交都不成功
点赞 回复 分享
发布于 2021-06-28 18:05
写的啥啊?
点赞 回复 分享
发布于 2021-06-30 14:23
mysql输出结果不对的
点赞 回复 分享
发布于 2021-08-21 22:02
不对 乱搞
点赞 回复 分享
发布于 2021-09-03 09:08
***搞就别浪费大家时间了
点赞 回复 分享
发布于 2021-09-05 10:27

相关推荐

10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
宇智波爱学习:我还没收到笔试
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
评论
74
2
分享
牛客网
牛客企业服务