select Max(age) Secondelderage
from Employees where (select Max(age)from Employees) > age;
在表中查找比最大年龄小的最大值
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT//查询第n高的薪水
BEGIN
declare M int;
set M = N-1;
RETURN (
select salary from employee order by salary desc limit M,1
);
END
发现有并列的记录时上述语句会返回并列的记录。
搜索后发现可以用distinct去重避免并列的记录干扰。
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
declare M int;
set M = N-1;
RETURN (
SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT M,1
);
END