编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。
Id | Salary |
---|---|
1 | 100 |
2 | 200 |
3 | 300 |
例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
SecondHighestSalary |
---|
200 |
题解:
这里需要使用limit函数 limit m,n
其中m是指记录开始的index,
n是指从第m+1条开始,取n条。
sql
select distinct salary from Employee order by salary desc limit 1,1
通过薪水排序,从第2条记录开始,取一条,通过薪水降序排序后,第二条记录就是薪水第二名
然后再将查询出的结果命名为SecondHighestSalary
完整sql
select(select distinct salary from Employee order by salary desc limit 1,1)
as SecondHighestSalary
skr!