leecode sql 176

2020-03-26  本文已影响0人  半瓶水半瓶油

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。

+----+--------+

| Id | Salary |

+----+--------+

| 1  | 100    |

| 2  | 200    |

| 3  | 300    |

+----+--------+

例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。

+---------------------+

| SecondHighestSalary |

+---------------------+

| 200                |

+---------------------+

这道题考察了,Limit.用法,ifnull 函数用法。核心关键点是查找第几高的数据。可读性相对来说,ifnull十分好。

SELECT

    IFNULL(

      (SELECT DISTINCT Salary

      FROM Employee

      ORDER BY Salary DESC

        LIMIT 1 OFFSET 1),

    NULL) AS SecondHighestSalary

上一篇 下一篇

猜你喜欢

热点阅读