题解 | 获取当前薪水第二多的emp_no以及其对应的薪水

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

https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719

select 
    empsal.empno as emp_no, 
    empsal.salary as salary,
    empsal.lastname as last_name,
    empsal.firstname as first_name
from
(
    select
        emp.emp_no as empno,
        sal.salary as salary,
        emp.last_name as lastname,
        emp.first_name as firstname
    from
        employees as emp
        join salaries as sal on emp.emp_no = sal.emp_no
) as empsal,
(select
    max(salary) as secondSalary
from
    salaries
where
    salary != (
        select
            max(salary)
        from
            salaries
    )) as ss
where empsal.salary = ss.secondSalary;

需要那么麻烦吗?

select max(salary) as secondSalary from salaries where salary != ( select max(salary) from salaries );

这不就获得第二多的工资的值了?

全部评论

相关推荐

我看看你怎么个事来
牛牛爱吃草草:我看看你怎么个事来
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:16
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务