176.第二高的薪水
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。
Id | Salary |
---|---|
1 | 100 |
2 | 200 |
3 | 300 |
例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
SecondHighestSalary |
---|
200 |
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/second-highest-salary
解答:
这个题容易忽视null和去重问题,得到如下的答案
select distinct salary from Employee order by salary desc limit 1,1
为保证null值,需要将上述结果作为一个临时表处理
select
(select distinct Salary
from Employee
order by Salary desc
limit 1,1) as SecondHighestSalary
;