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

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

https://www.nowcoder.com/practice/8d2c290cc4e24403b98ca82ce45d04db

WITH CS AS(
    SELECT * FROM salaries
    WHERE to_date = '9999-01-01'
#先过滤出当前的工资记录命名为CS
),RS AS(
    SELECT 
        CS.emp_no,
        CS.salary,
        DENSE_RANK() OVER(ORDER BY CS.salary DESC) AS R  
    FROM CS  
#针对过滤后的工资记录命名为RS,并用开窗函数排序,DENSE_RANK()不会跳过排序。
)
SELECT 
    RS.emp_no,
    RS.salary
FROM RS
WHERE RS.R = 2
ORDER BY RS.emp_no;
#对排序后的RS工资记录进行筛选,选择排序为2的,并按照员工编号排序

#SQL训练#
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务