第二高的薪水

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;
上一篇 下一篇

猜你喜欢

热点阅读