获取当前第二多的员工

获取当前薪水第二多的员工的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
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
max不加分组报错啊!
1 回复 分享
发布于 2021-09-08 14:58
结果不对是因为,聚合函数的结果与非聚合属性不一定是对应的
1 回复 分享
发布于 2021-09-02 19:25
总感觉这种答发不规范
1 回复 分享
发布于 2020-10-17 23:58
请问一下,为什么把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
这种写法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
这个不对哟
点赞 回复 分享
发布于 2024-04-11 12:04 广东
增加group by salary 子查询就行吧
点赞 回复 分享
发布于 2022-09-07 11:40 广东
小于最大值工资的人有多个, 直接用max只能知道第二大的工资数值是多少, 不知道这个工资对应的是谁
点赞 回复 分享
发布于 2021-12-30 15:08
直接运行就错误的答案也贴上来?还有这么多人点赞
点赞 回复 分享
发布于 2021-12-25 19:18
10秒通过 elect e.emp_no,s.salary,e.last_name,e.first_name from employees as e join salaries as s on e.emp_no=s.emp_no where s.salary=(select max(s2.salary) from salaries as s2 join salaries as s3 on s2.salary
点赞 回复 分享
发布于 2021-09-08 10:14
***搞就别浪费大家时间了
点赞 回复 分享
发布于 2021-09-05 10:27
不对 乱搞
点赞 回复 分享
发布于 2021-09-03 09:08
mysql输出结果不对的
点赞 回复 分享
发布于 2021-08-21 22:02
写的啥啊?
点赞 回复 分享
发布于 2021-06-30 14:23

相关推荐

重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
待现的未见之事:起码第一句要把自己的优势说出来吧。比如什么xx本27届学生,随时到岗....
点赞 评论 收藏
分享
评论
75
2
分享

创作者周榜

更多
牛客网
牛客企业服务