第二高的薪水
2019-01-20 本文已影响0人
A_rrow

例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
需注意的点
- 题目要求不存在返回null,则用ifnull函数
ifnull(A,B) 若不为空返回A,否则返回B- 可能存在相同薪水的情况,所以用distinct去重
- order by分类 desc--降序,默认是asc
- limit[offset,n] -- offset是偏移量,即跳过多少行,n是需要取出的条目
SELECT IFNULL(
(SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC LIMIT 1,1),NULL)
AS SecondHighestSalary;