176
要考虑为空和重复的情况,ifnull和distinct关键字的使用
select IFNULL((select distinct Salary from Employee order by Salary desc limit 1,1),null) as SecondHighestSalary
177
注意在sql语句中不能使用表达式N-1是不能使用的
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
if N<=0 then
RETURN(select min(Salary) from Employee);
else
set N = N-1;
RETURN (
# Write your MySQL query statement below.
select ifnull((select distinct Salary from Employee order by Salary desc limit N,1),null) as NthHighestSalay
);
end if;
END
京公网安备 11010502036488号