0

Riak TSタイムスタンプに基づいて最新のレコードを取得する手順。

次の表を作成しました。

CREATE TABLE devicedetail (memberId SINT64 NOT NULL, type VARCHAR NOT NULL,model VARCHAR NOT NULL,imei VARCHAR NOT NULL,deviceId VARCHAR NOT NULL,manufacturer VARCHAR NOT NULL,os VARCHAR NOT NULL,version VARCHAR NOT NULL,time TIMESTAMP NOT NULL,PRIMARY KEY ((memberId),memberId));

SQL を使用してデータを挿入します。

INSERT INTO devicedetail VALUES (110,'health Kit','andorid-4.0','76565657675222','sdgsd1212','sony','windows','5.0',1420113600000);

deviceIdそして今、最後に挿入されたレコードに基づいて選択したい:

select deviceId from devicedetail where memberId=110 and type='health Kit' order by time desc limit 1;

次のような例外が発生します。

SQL パーサー エラー {<<"order">>,riak_ql_parser, ["前の構文エラー: ","識別子"]}

しかし、クエリ中に:

select deviceId from devicedetail where memberId=110 and type='health Kit';

出力の取得:

+---------+   
|deviceId |
+---------+
|sdgsd1212|
+---------+

これを簡単な方法で取得する方法を知っている人はいますか? 教えてください。

4

1 に答える 1

0

2016 年 12 月 21 日現在の回答:

Riak TS 1.5 が今週リリースされました。ORDER BY と LIMIT がサポートされるようになりました。

古い答え:

ORDER BY は、現在のバージョンの Riak TS (1.4) ではサポートされていないため、エラーが発生しています。LIMIT もまだサポートされていません。ORDER BY と LIMIT は近い将来に含まれる予定です。

于 2016-12-03T02:21:05.757 に答える