SQL-17 题解
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
http://www.nowcoder.com/questionTerminal/8d2c290cc4e24403b98ca82ce45d04db
从薪水表中提取金额第二多的员工编号和薪水金额。
select emp_no,salary from salaries order by salary desc limit 1 offset 1
用这个是直接按薪水排序后跳过一条,显示第二条(不考虑并列第二的可能性)
考虑并列第二的可能性的话,用了下窗口函数rank(),之前因为没有给临时表加别名一直不给我过测试。
select emp_no,salary from ( select emp_no,salary,rank() over (order by salary desc) as ranking from salaries ) as t where ranking = 2