题干:
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。
Id | Salary |
---|---|
1 | 100 |
2 | 200 |
3 | 300 |
例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
SecondHighestSalary |
---|
200 |
分析:1.这里的主要问题在于两个,第一个是找出第二高的薪水,这个可以通过limit实现,还有一个就是对于不存在的情况,要返回null
解题:
- 核心的筛选:
select distinct salary from employee order by salary desc limit 1 <