17.获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
http://www.nowcoder.com/questionTerminal/8d2c290cc4e24403b98ca82ce45d04db
法一:row_number开窗函数(当薪水第二的人有多个时只会输出一个)
select emp_no,salary from (select emp_no,salary,row_number() over(order by salary desc) t from salaries where to_date='9999-01-01') where t=2
法二:rank开窗函数(当薪水第二的人有多个时会全部输出)
select emp_no,salary from (select emp_no,salary,rank() over(order by salary desc) t from salaries where to_date='9999-01-01') where t=2
法三:max()+子查询
select emp_no,max(salary) from salaries where salary <>(select max(salary) from salaries where to_date='9999-01-01')
数据分析阿宇君的SQL题解 文章被收录于专栏
数据分析的SQL题目