CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN
SET M=N-1;
RETURN (
# Write your MySQL query statement below.
SELECTDISTINCT salary FROM employee ORDERBY salary DESCLIMIT M
);
END
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN
RETURN (
# Write your MySQL query statement below.
with cte as (select id, salary, dense_rank() over(orderby salary desc) as rank from Employee)
selectifnull((selectdistinct salary from cte where rank=N),null)
);
END
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN
RETURN (
# Write your MySQL query statement below.
SELECTDISTINCT Salary
FROM Employee e1
WHERE N-1= (SELECTCOUNT(DISTINCT Salary) FROM Employee e2 WHERE e1.Salary < e2.Salary)
);
END
CREATEFUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGINDECLARE M INT;
SET M=N-1;
RETURN (
#Write your MySQL query statement below.
SELECTDISTINCT Salary FROM Employee ORDERBY Salary DESCLIMIT1OFFSET M
);
END