关于使用开窗函数报错的问题(求解决方案,提问帖)

本人在做笔试题的时候准备使用mysql的rank()over()函数,但是发现在逻辑,语法没错的情况下,使用rankover函数,系统仍然报错。因为笔试数据不方便展示,因此找了一个比较简单的数据。
select a,b,c,rank() over(order by a) from test;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(order by a) from test' at line 1
这是测试的原表数据。

| a | b | c |

| 1 | 3 | E |
| 2 | 4 | A |
| 3 | 2 | D |
| 3 | 5 | B |
| 4 | 2 | C |
| 2 | 4 | B |

6 rows in set (0.00 sec)

望各位,让我顺利使用rankover()函数

img

MYSQL 8.0 版本,执行没有报错,不确定你说的”系统报错“是指数据库返回错误还是答题系统判断你的答案不对?
如果是数据库返回错误的话,很可能是因为你使用的数据库版本太老了,在8版本之前是不能使用开窗函数的;
如果是答题系统判断你的答案不对,建议再仔细阅读下题目的要求

加个别名看看rank() over(order by a) as arank