【发布时间】:2020-08-22 22:19:34
【问题描述】:
我有以下 MariaDB SQL 语句需要转换为 MySQL 语句
SELECT *,
SUM(amount) over (partition by voteid order by allocationid) AS TotalAmountAvailable
FROM allocation
我收到以下错误消息:
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“(按 voteid order by allocationid 分区)AS TotalAmountAvailable FROM alloca”附近使用正确的语法
我公司的实时服务器具有以下设置:
Database server - Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.7.25-0ubuntu0.16.04.2 - (Ubuntu)
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)
【问题讨论】:
-
MariaDB 使用与 MySQL 相同的 SQL 风格。您指的是任何特定版本的 MySQL 和缺少的功能吗?
-
由于某种原因,即使它可能是相同的味道,它也无法正常工作。我相信MYSQL版本是5.7
-
不工作不是一个非常有用的短语。您是否看到任何结果或错误?
-
错误静态分析:分析时发现1个错误。之前发现了一个别名。 (在位置 75 的“TotalAmountAvailable”附近) SQL 查询:文档 SELECT *, SUM(amount) over (partition by voteid order by allocationid) AS TotalAmountAvailable FROM allocation LIMIT 0, 25 MySQL 说:文档 #1064 - You have an error in your SQL 语法;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 2 行的 '(partition by voteid order by allocationid) AS TotalAmountAvailable FROM alloca' 附近使用
标签: mysql sum window-functions