题解 | #获取当前薪水第二多的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训练#