我下表「keyspaceB.memobox」在卡桑德拉,我不知道該怎麼辦ORDER BY
DROP TABLE IF EXISTS keyspaceB.memobox;
CREATE TABLE IF NOT EXISTS keyspaceB.memobox (
pkey1 text,
pkey2 text,
id timeuuid,
name text,
memo text,
date timestamp,
PRIMARY KEY ((pkey1, pkey2),id,name)
) WITH CLUSTERING ORDER BY (id DESC,name DESC);
準備,我註冊了以下數據。
INSERT INTO memobox (pkey1,pkey2,id,name,memo,date) VALUES ('a','b',now(),'tanaka','greet message1','2016-12-13');
INSERT INTO memobox (pkey1,pkey2,id,name,memo,date) VALUES ('a','b',now(),'yamamoto','greet message2','2016-12-13');
下面將接替
SELECT * FROM memobox where pkey1='a' and pkey2='b' ORDER BY id;
然而,下面會失敗。我想問你的教授什麼是錯的。
SELECT * FROM memobox where pkey1='a' and pkey2='b' ORDER BY name;
■錯誤
cqlsh:keyspaceb> SELECT * FROM memobox where pkey1='a' and pkey2='b' ORDER BY name;
InvalidRequest: code=2200 [Invalid query] message="Order by currently only support the ordering of columns following their declared order in the PRIMARY KEY"
cqlsh:keyspaceb>
感謝您的詳細解答!我很感激。這非常有幫助。 –