CoderPad不支持SQL中的排名功能吗?

时间:2018-02-05 00:50:05

标签: mysql sql syntax-error rank

我尝试了以下查询:

select first_name,last_name,salary,rank() over (order by salary) as Rank
from employees
order by Rank

我收到以下错误:

  

第1行的错误1064(42000):您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便在'(按工资排序)附近使用正确的语法作为Rank
  来自员工   排名第1行的排名

1 个答案:

答案 0 :(得分:0)

最简单的实施适用于row_number(),而不是rank()。也许这对你有用:

select first_name, last_name, salary,
       (@rn := @rn + 1) as Rank
from employees e cross join
     (select @rn := 0) params
order by salary;

如果您特别需要rank(),这有点棘手。