我正在尝试使用MariaDB上的Rank功能。我已经在我的桌子上创建了某种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服务器版本对应的手册,以获得正确的语法
靠近'(由TavlingRondNr订购Rondresultat DESC)来自 Resultatlista WHE'在第1行
对于第二个,我收到类似的错误消息:
1064 - 您的SQL语法出错;检查与MariaDB服务器版本对应的手册,以获得正确的语法
靠近'(ORDER BY Rondresultat DESC)来自Resultatlista WHERE 第1行的TavlingRondNr = 1 ORDER'
修复SQL的任何建议。我需要稍后在更新中使用它。
答案 0 :(得分:1)
窗口函数最初是在 MariaDB 10.2 .0中引入的。
它们不存在于(并且不会被添加到)5.5,10.0,10.1。
中截至2017年1月底,最新的MariaDB 10.2.3是测试版,不推荐用于制作,但很快就会推出候选版本,GA应该不会很远,所以值得尝试