题目描述:写一个SQL查询,得到第n个最高的薪水值,如当 n=2 时,结果如下:
SQL语句如下,注意分号;的位置:
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
Declare M INT; /*声明一个变量M*/
Set M = N - 1; /*由于limit是从0开始的,要和N保持一致,所以M-1*/
RETURN (
select distinct Salary
from Employee order by Salary desc
limit M, 1 /*从 M+1 条开始,取出1条数据*/
);
END