力扣MySQL(1)
176. 第二高的薪水 - 力扣(LeetCode)
1.欲获取第二高,需要排序。排序使用order by,默认是升序排列,即asc.我们要得到第二高,应该是降序排列,需要使用关键字desc
2.去重。如果我们只是得到表中第二行的数据,若最高薪水的人有多个,那么我们得到的就是最高薪水了。去重使用distinct
3.怎么获取第二高?使用limit.
limit用于限制查询结果返回的行数,常用于分页查询。语法为:
limit row_count offset offset_
等价于:
limit offset_,row_count
注意,不包含第offset_条。只指定一个参数时,表示返回的行数。
4.临界输出:如果不存在则应返回null,使用ifNull()实现这个功能。语法为:
ifNull(expr,null)
如果expr为真则返回expr,否则返回null
答案:
# Write your MySQL query statement below
select ifnull ((select distinct Salaryfrom Employeeorder by Salary desc limit 1,1),null) as SecondHighestSalary