当前位置:网站首页>力扣(LeetCode)176. 第二高的薪水(2022.06.25)

力扣(LeetCode)176. 第二高的薪水(2022.06.25)

2022-06-26 02:07:00 ChaoYue_miku

SQL架构:

Create table If Not Exists Employee (id int, salary int)
Truncate table Employee
insert into Employee (id, salary) values ('1', '100')
insert into Employee (id, salary) values ('2', '200')
insert into Employee (id, salary) values ('3', '300')

Employee 表:
±------------±-----+
| Column Name | Type |
±------------±-----+
| id | int |
| salary | int |
±------------±-----+
id 是这个表的主键。
表的每一行包含员工的工资信息。

编写一个 SQL 查询,获取并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null 。

查询结果如下例所示。

示例 1:

输入:
Employee 表:
±—±-------+
| id | salary |
±—±-------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
±—±-------+
输出:
±--------------------+
| SecondHighestSalary |
±--------------------+
| 200 |
±--------------------+
示例 2:

输入:
Employee 表:
±—±-------+
| id | salary |
±—±-------+
| 1 | 100 |
±—±-------+
输出:
±--------------------+
| SecondHighestSalary |
±--------------------+
| null |
±--------------------+

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/second-highest-salary

方法一:使用 IFNULL 和 LIMIT 子句

MySQL提交内容:

# Write your MySQL query statement below
SELECT
    IFNULL(
      (SELECT DISTINCT Salary
       FROM Employee
       ORDER BY Salary DESC
        LIMIT 1 OFFSET 1),
    NULL) AS SecondHighestSalary
原网站

版权声明
本文为[ChaoYue_miku]所创,转载请带上原文链接,感谢
https://chaoyue.blog.csdn.net/article/details/125465553