sql题解 | 不通过order by 查询薪资第二多的员工

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

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

先查询出最多工资的薪资,小于最多工资的最大薪资就是第二多的薪资。 所以查询出来的薪资做等值比较得出薪资第二的人的数据,本题主要说不能使用order by的情况下如何做排行


select
    b.emp_no,
    b.salary,
    a.last_name,
    a.first_name
from
    employees a
    inner join salaries b on a.emp_no = b.emp_no
where
    b.salary = (
        select
            max(salary)
        from
            salaries
        where
            salary <
        (select
            max(salary)
        from
            salaries)
    )


全部评论

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
投了多少份简历才上岸
点赞 评论 收藏
分享
每晚夜里独自颤抖:把华北改为华南再试一试,应该就没啥问题了。改完可能都不用投,别人主动联系了。
点赞 评论 收藏
分享
07-02 13:52
武汉大学 golang
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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