我尝试了以下查询:
select first_name,last_name,salary,rank() over (order by salary) as Rank
from employees
order by Rank
我有以下错误:
错误1064(42000(在第1行:您的SQL语法中有错误;查看与您的MySQL Server版本相对应的手册,以获取合适的语法,以接近'(按薪金订单(等级
来自员工
按等级订购第1行
最简单的实现是用于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()
,这有点棘手。