zoukankan      html  css  js  c++  java
  • 找第二大的数SQL-Second Highest Salary

    1: 找小于最大的最大的

    select max(Salary) from Employee where Salary<(select MAX(Salary) from Employee);
    

    2. 排序

    select  Salary from Employee where Salary not in (select MAX(Salary)from Employee) order by Salary desc limit 1;
    

      

    select (
    
    select distinct Salary from Employee order by Salary Desc limit 1 offset 1
    
    ) as SecondHeighestSalary;
    

      

    找第n个数:

    CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
    BEGIN
    DECLARE M INT;
    set N=N-1;
      RETURN (
         
          # Write your MySQL query statement below.
          select  Salary from Employee order by Salary desc limit 1 offset N
      );
    END
    

      

    CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
    BEGIN
    DECLARE M INT;
    set N=N-1;
      RETURN (
         
          # Write your MySQL query statement below.
          select  distinct Salary from Employee order by Salary desc limit 1 offset N
      );
    END
    

      不能在limit 里N-1, 因为limit里不计算

    哈哈: distinct :在表中可能包含重复值,返回唯一不同的值,

  • 相关阅读:
    express 连接 moogdb 数据库
    数组 去重
    vue 路由meta 设置title 导航隐藏
    :src 三目运算
    axios baseURL
    js对象修改 键
    Swiper隐藏后在显示滑动问题
    字符串中的替换
    获取服务器时间
    vue a链接 添加参数
  • 原文地址:https://www.cnblogs.com/fanhaha/p/7257178.html
Copyright © 2011-2022 走看看