我有一张table,上面有员工的身份证,姓名,薪水。我想根据薪水给员工排名。
表:员工
id employee_name employee_salary
------------------------------------
1 Martin 3500
2 Su 4000
3 Alex 3500
4 Flora 8000
我想要的结果是
id employee_name employee_salary Rank
--------------------------------------------
1 Martin 3500 3
2 Su 4000 2
3 Alex 3500 3
4 Flora 8000 1
我尝试使用rank()函数,查询是
select
salary,
rank() over (order by employee_salary desc) AS Rank
from employee
这会引发mysql错误:
分析中发现3处错误。
以前发现了一个别名(接近“等级”位置61)
应为别名(接近“”,位置60)
意外标记(在61号位置接近“军衔”
查询有问题吗?
2条答案
按热度按时间ajsxfq5m1#
尝试此查询
结果是这样的
cbwuti442#
不使用变量就可以得到
演示
mysql 8支持窗口函数