176. 第二高的薪水
# Write your MySQL query statement below
Select ifnull(
(SELECT distinct salary
from Employee
order by Salary desc limit 1,1
),null)
as SecondHighestSalary
此题思路还是正常的SQL查询语句的思路:
(1)查找第二高的薪水,则需要先对查找的结果进行排序,然后去重,再使用limit1,1即可找到第二高。
limit 1,1:表示从salary的第二个数据开始,只取一位数。而limit0,1:表示的是从第一条记录开始,只取一位数。
(2)重要的一点是如果不存在第二高的薪水,则返回null,于是还需添加ifnull函数:
ifnull函数的含义:ifnull()函数用于判断第一个表达式是否为null,如果为null则返回第二个参数的值,如果不为null则返回第一个参数的值。
举例: