查 n 高的薪水,这种写法的优点 ?
原文见 博客:2022-11-21:第N高的薪水。表结构和数据的sql语句如下。请问sql语句...
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
SET N := N-1;
RETURN (
SELECT
salary
FROM
employee
GROUP BY
salary
ORDER BY
salary DESC
LIMIT N, 1
);
END
select getNthHighestSalary(2);
这里为啥要用函数,还分组,直接查不就行了
SELECT `id`,`salary` FROM `employee` ORDER BY `salary` DESC LIMIT 1 OFFSET n-1;
为嘛不用窗口函数呢?
碰到
(100, 100, 90)
取第二高的 (90
有可能排第二,也可能排第三。看具体需要),咋办。。