2017-01-23 8 views
0

MariaDBのランク関数を使用しようとしています。私はすでにRANK()の実装をテーブルに作成していますが、正しく動作していません。私が試したクエリのMariaDbのランク関数の使い方

二つこれらは次のとおりです。

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構文に誤りがあります。右の構文はライン1

で2つ目は ' Resultatlista WHE FROM(Rondresultat DESC BY TavlingRondNrのORDER BY PARTITION')

近くを使用するためにあなたのMariaDBサーバーのバージョンに対応するマニュアルを確認してください同様のエラーメッセージが表示されます。

1064 - SQL構文に誤りがあります。ライン1

で修正するための任意の提案 ' TavlingRondNr = 1 ORDER Resultatlista FROM(Rondresultat DESC BY ORDER')

近くを使用する権利構文については、ご使用のMariaDBサーバーのバージョンに対応するマニュアルを確認してくださいSQL。後でUpdateで使用する必要があります。

+1

あなたはどのバージョンのMariaDBを使用していますか? 'RANK()'が10.2で追加されました。 – Barmar

+0

Synology NASでMariaDBを実行しています。先週サポートされた最新バージョン(バージョン:5.5.53-0070)にアップグレードされました。 – Guran

答えて

1

ウィンドウ関数は、MariaDB 10.2.0に導入されました。

これらは5.5,10.0,10.1には存在しません(追加されません)。今のよう


、2017年1月の終わり、最新MariaDB 10.2.3はベータ版ですので、生産のために推奨されていませんが、リリース候補がすぐに期待されており、GAは遠く離れてはなりませんそれは試してみる価値がある。

+0

答えをありがとう、私は現在、SynologyにMariaDBパッケージを少なくともバージョン10.2.0にアップグレードするよう依頼しています。 – Guran

+0

10.2.0は使用しないでください。アップグレードの時点で入手可能な最新の10.2.xを使用してください。現在は10.2.3です。 10.2.4がすぐに来て、それ以降の1つがGAになるかもしれません。 – elenst

関連する問題