我想在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