Cassandra CQL选择的行在两列上具有不同的值

时间:2013-07-17 08:02:07

标签: cassandra cql cql3

我创建表:

CREATE TABLE T (
            I int PRIMARY KEY,
            A text,
            B text
);

使用以下方法添加两列XY

ALTER TABLE T ADD X int;
CREATE INDEX ON T (X);
ALTER TABLE T ADD Y int;
CREATE INDEX ON T (Y);

我提供了一些数据,现在我想计算XY上具有不同值的行(偶数X< Y就可以了。我试过这样的事情:

select COUNT(*) from T where X < Y ;

如果没有COUNT,这也行不通 - 只需简单*

但我收到错误no viable alternative at input ';' 您对如何克服此错误有一些建议吗? 我尝试使用计数器而不是整数,但是他们强迫我把所有非计数器数据都放到主键上,这在我的情况下并不是一个好主意......

我正在使用Cassandra 1.2.6和CQL 3.

PS我可以对所有行执行UPDATE吗?没有WHERE条款或者有一些假的吗?

1 个答案:

答案 0 :(得分:0)

由于Cassandra更喜欢简单的读取,Cassandra方法是在update / insert上插入一个布尔标记的列。使用(辅助)索引,您也可以更快地查询读取。