我想在MariaDB上使用Rank函数。我已经在我的表上创建了一些RANK()实现,但它不能正常工作。如何在MariaDb中使用Rank函数
我试图查询中有两个是这些:
SELECT SpelarID, RondNr, Rondresultat, RANK() OVER(PARTITION BY TavlingRondNr ORDER BY Rondresultat DESC)
FROM Resultatlista
WHERE RondNr = 1
ORDER BY Rondresultat DESC
LIMIT 10;
而且
SELECT *, RANK() OVER (ORDER BY Rondresultat DESC)
FROM Resultatlista
WHERE TavlingRondNr = 1
ORDER BY Rondresultat DESC
LIMIT 10;
结果我得到当我与phpMyAdmin运行它是这样的:
MySQL表示:
文档
1064 - 您的SQL语法错误;检查对应于您MariaDB的服务器版本的手册正确的语法在1号线
而对于第二个使用
附近 '(PARTITION BY TavlingRondNr ORDER BY Rondresultat DESC)FROM Resultatlista WHE'我收到类似的错误消息:
1064 - 您的SQL语法错误;检查 'FROM Resultatlista(ORDER BY Rondresultat DESC)WHERE TavlingRondNr = 1个ORDER' 对应于您的MariaDB的服务器版本正确的语法使用
附近手册第1行
任何建议,以解决SQL。我需要在稍后的更新中使用它。
您使用的是哪个版本的MariaDB? 'RANK()'是在10.2中添加的。 – Barmar
在Synology NAS上运行MariaDB。上周升级到他们最新的支持版本(版本:5.5.53-0070)。 – Guran