mysql - 不能在 MySQL 工作台 8.0(MySQL 版本 5.7.31)中使用“over”子句
问题描述
我很难看出我做错了什么。我注意到某些语法不起作用(我遇到了关键字“WITH”和现在“OVER”的问题。
我在具有 和 列的表上应用窗口id
函数。我想选择一个集群的最高价格。这里我使用“max”函数作为玩具示例。(我真正想要的是所有价值中最大的价格。)price
cluster
id
cluster
select max(price) over (cluster) as last_p
from transactions tx
right join tx_ids as ids ON ids.ids=tx.id
group by cluster
order by cluster;
我怀疑问题出在我的工作台或 mysql 版本上,但在网上搜索我的问题时还没有找到太多。
解决方案
正如@GSerg 所指出的,MySQL 5.7 不支持窗口化。
它是在 MySQL 8 上引入的。参考:https ://community.oracle.com/thread/4193269
推荐阅读
- charts - 创建 Google Chart 分组条重叠堆叠条
- ruby-on-rails - fe_sendauth:未提供密码 (PG::ConnectionBad) Docker 容器
- bash - 在bash中重复赋值
- c - 文件操作。一个 c 程序,将使用 fork() execvp() ,wait/waitpid() 获取单个命令行参数
- python - Python:如何将列表添加到现有的 txt 文件中,并且必须在文本文件中包含逗号?
- android - 为什么图像在 TabLayout 的中心?
- python - 在python中的值和键对中添加值列表
- python - 单击按钮时如何从另一个 Python 文件中读取 QLineEdit 值的值
- c# - 使用 c# 使用 IHttpActionResult 将请求类型作为 XML 发送
- python - 如何使用 Keras 调用模块而不会使 Tkinter 菜单崩溃?