查 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;
六月的风
Junwind
讨论数量: 4

为嘛不用窗口函数呢?

碰到 (100, 100, 90) 取第二高的 90 有可能排第二,也可能排第三。看具体需要),咋办。。

2年前 评论
Junwind (楼主) 2年前
Junwind (楼主) 2年前
wxf666 (作者) 2年前