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

为嘛不用窗口函数呢?

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

2周前 评论
junwind (楼主) 2周前
junwind (楼主) 2周前
wxf666 (作者) 2周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!