sql查询第n高的数据 发表于 2020-10-06 题目描述查询第N高的数据 题解用到了limit、offset、ifnull等关键字的知识点。 123456SELECT column_listFROM table1ORDER BY column_listLIMIT row_count OFFSET offset; row_count表明将要返回的行数。offset表明从开头要跳过的行数。 在MySQL中可以缩写: 123456SELECT employee_id, first_name, last_nameFROM employeesORDER BY first_nameLIMIT 3 , 5; 1IFNULL(expression, alt_value) IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。 sql的 order by 默认为升序asc,desc是降序。 最终答案为: 123456789101112CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN 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) );END