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