leetcode-sql-176.第二高的薪水

187 阅读1分钟

题目

image.png

分析

第二高的薪水我们可以考虑使用order by字句排序后直接offset截取一下就可以,所以我们可以这样使用:

SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSET 1

但是这样结果是错的,因为还有个要求:如果不存在第二高的薪水,查询返回null。这一块可以直接使用ifnull的判断了。

答案如下:

SELECT
    IFNULL(
      (SELECT DISTINCT Salary
       FROM Employee
       ORDER BY Salary DESC
        LIMIT 1 OFFSET 1),
    NULL) AS SecondHighestSalary;

提交结果如下:

image.png