首页 > 解决方案 > 不能在 MySQL 工作台 8.0(MySQL 版本 5.7.31)中使用“over”子句

问题描述

我很难看出我做错了什么。我注意到某些语法不起作用(我遇到了关键字“WITH”和现在“OVER”的问题。

我在具有 和 列的表上应用窗口id函数。我想选择一个集群的最高价格。这里我使用“max”函数作为玩具示例。(我真正想要的是所有价值中最大的价格。)priceclusteridcluster

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 版本上,但在网上搜索我的问题时还没有找到太多。

简单的窗口化(分析)MySQL 应用程序

标签: mysqlgroup-bymysql-workbenchwindowingover-clause

解决方案


正如@GSerg 所指出的,MySQL 5.7 不支持窗口化。

它是在 MySQL 8 上引入的。参考:https ://community.oracle.com/thread/4193269


推荐阅读