如何使用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