如何使用CQL3引入一系列複合列?使用CQL3遍歷Cassandra寬行
考慮以下幾點:
CREATE TABLE Stuff (
a int,
b text,
c text,
d text,
PRIMARY KEY (a,b,c)
);
在卡桑德拉什麼這有效地作用是創建具有整數行的的ColumnFamily(的值)和與b和c和文字串「d值組成CompositeColumns 」。當然,這些都被CQL3覆蓋了,所以我們將認爲,我們將其插入到各個數據庫行中......但我離題了。
,並考慮以下一組輸入:
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','P','whatever0');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','Q','whatever1');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','R','whatever2');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','S','whatever3');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','T','whatever4');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','P','whatever5');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','Q','whatever6');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','R','whatever7');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','S','whatever8');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','T','whatever9');
在我目前的使用情況下,我想讀的東西都值,n
值的同時。我該怎麼做呢?這是我使用n=4
當前看法:
SELECT * FROM Stuff WHERE a=1 LIMIT 4;
和預期的一樣,我得到:
a | b | c | d
---+---+---+-----------
1 | A | P | whatever0
1 | A | Q | whatever1
1 | A | R | whatever2
1 | A | S | whatever3
,我碰到的我如何才能在接下來的4麻煩?這是我的嘗試:
這不起作用,因爲我們已經限制b等於'A' - 這是一個合理的事情!但是我在CQL3語法中沒有發現任何東西,它允許我繼續迭代。我希望我能做到這樣的事情:
SELECT * FROM Stuff WHERE a=1 AND {b,c} > {'A','S'} LIMIT 4;
我該如何達到我想要的結果。也就是說,我如何讓CQL3返回:
a | b | c | d
---+---+---+-----------
1 | A | T | whatever0
1 | B | P | whatever1
1 | B | Q | whatever2
1 | B | R | whatever3
注意自己:[其他人有同樣的問題](http://stackoverflow.com/q/16951532/348056)。 – JnBrymn