leetcode数据库题型(第二高的薪水)

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

±—±-------+
| Id | Salary |
±—±-------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
±—±-------+
例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。

±--------------------+
| SecondHighestSalary |
±--------------------+
| 200 |
±--------------------+

思路如下:可以用ifnull函数书写,再用distinct 返回唯一不同的值。
IFNULL()函数:
IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

# Write your MySQL query statement below
SELECT
    IFNULL(
      (SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSET 1),
      NULL) AS SecondHighestSalary
发布了15 篇原创文章 · 获赞 2 · 访问量 287

猜你喜欢

转载自blog.csdn.net/yemengxiang/article/details/105333966
今日推荐