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

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

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

SELECT e.emp_no, salary, last_name, first_name
FROM employees e
JOIN salaries s
ON e.emp_no = s.emp_no
WHERE salary = (
    SELECT MAX(salary)
    FROM salaries
    WHERE salary <(
        SELECT MAX(salary)
        FROM salaries
    )
)

因为不能使用ORDER BY ,所以会想到无法使用RANK()OVER()等排序方式,只能使用MAX给出前几名的值,又因为第二名是除去第一名的最大值,所以只需想办法将第一名排除掉即可

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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