深海灬镜头 2022-03-23 07:55 采纳率: 50%
浏览 118
已结题

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

本人在做笔试题的时候准备使用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()函数
  • 写回答

2条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-23 08:31
    关注

    img

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    深海灬镜头 2022-03-23 09:25

    感恩,是我版本太低了

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月23日
  • 创建了问题 3月23日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部