问题
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary)
SQL语句
select(
ifnull(
(select distinct Salary
from Employee
order by Salary desc
limit 1,1), null)
) as SecondHighestSalary
总结
1. limit (i, n)用法
i: 查询结果的索引值,默认从0开始,当i=0时省略
如:limit 10 表示取前10行
n: 查询结果返回数量,指从第m+1行开始,取n行
如:本例中limit 1,1 表示从第2行取,取一行,即为第二高的薪水。
2. ifnull (a, b)
若a非空,则取a,否则取b