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

Cassandra CQL选择两列上具有不同值的行,cassandra,cql,cql3,Cassandra,Cql,Cql3,我创建表格: CREATE TABLE T ( I int PRIMARY KEY, A text, B text ); 然后,我使用以下方法添加两列X和Y: ALTER TABLE T ADD X int; CREATE INDEX ON T (X); ALTER TABLE T ADD Y int; CREATE INDEX ON T (Y); 我放了一些数据,现在我想计算在X和Y上具有不同值的行(即使XY也可以)。

我创建表格:

CREATE TABLE T (
            I int PRIMARY KEY,
            A text,
            B text
);
然后,我使用以下方法添加两列
X
Y

ALTER TABLE T ADD X int;
CREATE INDEX ON T (X);
ALTER TABLE T ADD Y int;
CREATE INDEX ON T (Y);
我放了一些数据,现在我想计算在
X
Y
上具有不同值的行(即使
X
Y也可以)。我试过这样的方法:

select COUNT(*) from T where X < Y ;
从T中选择COUNT(*),其中X
如果没有
计数
,这也不起作用-只是简单的
*

但我得到的错误是,
在输入端没有可行的替代方案';'
你对如何克服这个错误有什么建议吗?
我尝试使用计数器而不是整数,但它们迫使我将所有非计数器数据放入主键,这在我的情况下不是个好主意

我使用的是Cassandra1.2.6和CQL3


PS:我可以对所有行执行更新吗?没有
WHERE
子句或使用一些伪子句?

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

您的Y变量没有索引。您是否尝试在Y上创建索引,然后运行查询。它们已被索引。。刚才给出了我如何添加它们以及如何在一个表上设置索引的示例。您可以看看CQL引用。我认为不支持这种关系查询。详情请看:恐怕你是对的:/