如何在CQL中选择两列包含相等值的所有内容?

时间:2017-05-09 15:03:01

标签: cassandra cql

我正在尝试选择两列包含相等值的所有内容。这是我的CQL查询:

select count(someColumn) from somekeySpace.sometable where columnX = columnY

这不起作用。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您不能这样查询,cassandra不支持

你可以用不同的方式做到这一点 首先,您必须创建一个单独的计数器表。

CREATE TABLE match_counter(
    partition int PRIMARY KEY,
    count counter
);

如果columnX = columnY插入主表,则在此处增加值。虽然您只有一个计数,但您可以使用分区的静态值

UPDATE match_counter SET count = count + 1 WHERE partition = 1;

现在你可以得到匹配列的数量

 SELECT * FROM match_counter WHERE partition = 1;