如何在MariaDb

时间:2017-01-23 20:14:42

标签: mysql mariadb

我正在尝试使用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的任何建议。我需要稍后在更新中使用它。

1 个答案:

答案 0 :(得分:1)

窗口函数最初是在 MariaDB 10.2 .0中引入的。

它们不存在于(并且不会被添加到)5.5,10.0,10.1。

截至2017年1月底,最新的MariaDB 10.2.3是测试版,不推荐用于制作,但很快就会推出候选版本,GA应该不会很远,所以值得尝试