找第二大的數SQL-Second Highest Salary
阿新 • • 發佈:2017-07-29
des rom tin .com begin get pre sql 最大
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 :在表中可能包含重復值,返回唯一不同的值,
找第二大的數SQL-Second Highest Salary