美文网首页
力扣解题-176第二高的薪水

力扣解题-176第二高的薪水

作者: 小明阿婆 | 来源:发表于2024-12-12 17:43 被阅读0次

题目

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

查询并返回 Employee 表中第二高的 不同 薪水 。如果不存在第二高的薪水,查询应该返回 null(Pandas 则返回 None) 。

查询结果如下例所示。
示例 1:
输入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
输出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| 200 |
+---------------------+

示例 2:
输入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
+----+--------+
输出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| null |
+---------------------+

解题

思路:

  • 使用distinct,去重
  • 使用order by xxx desc,倒排序
  • 使用limit 1 offset 1,跳过第一条数据,取一条数据(即,取第二条数据)

代码:

# Write your MySQL query statement below
select (
    select distinct salary from employee
    order by salary desc
    limit 1 offset 1
) as SecondHighestSalary;

相关文章

网友评论

      本文标题:力扣解题-176第二高的薪水

      本文链接:https://www.haomeiwen.com/subject/pfpodjtx.html