zoukankan      html  css  js  c++  java
  • 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary)

    select 
    ifnull
    (
        (select distinct Salary
        from Employee
        order by Salary desc
        limit 1,1),
        null
    )as 'SecondHighestSalary'

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

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

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/second-highest-salary
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    如果把第二高,更新为第N高的薪水

    CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
    BEGIN
      SET N = N-1;
      IF N < 0 THEN
      RETURN NULL;
      ELSE
      RETURN (
          # Write your MySQL query statement below.
          SELECT IFNULL(
              (
              SELECT
              DISTINCT Salary
              FROM Employee
              ORDER BY Salary DESC
              LIMIT N, 1
              ), NULL)
          AS getNthHighestSalary
      );
      END IF;
    END
  • 相关阅读:
    python 数据结构与算法 day04 冒泡排序
    阿里代码扫描插件安装 (IDEA)
    Kafka
    女生赛训练 2
    2019 DISCS PrO High School Division
    计算机安全之密码安全 从 Hash 到 MD5
    CodeForces Round #559 Div.2
    CodeForces Round #558 Div.2
    CodeForces Round #560 Div.3
    NCD 2019 (AK)
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/14177261.html
Copyright © 2011-2022 走看看