题解 | #获取当前薪水第二多的员工的emp_no以及其对应的薪水salary#
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
http://www.nowcoder.com/practice/8d2c290cc4e24403b98ca82ce45d04db
思路:关于这种获取第几多的XXX问题,一般可以直接使用 limit
来进行求解。 这里需要注意的是:
- 需要进行去重,举个例子:可能会存在两个相同的最高工资,如果不进行去重,那么使用
limit
将取不到第二大的工资 - 去重的方式有两种,第一种是
distinct
第二种是group by salary
。使用group by
的方式效率更高
完整代码:
select emp_no, salary
from salaries
where to_date = '9999-01-01' and salary = (select salary from salaries group by salary order by salary desc limit 1,1)
SQL练习 文章被收录于专栏
已完成牛客的SQL练习。接下来是算法的练习