给定一个包含复合分区键的表,如:
CREATE TABLE testtable (
column1 text,
column2 text,
column3 text,
column4 text,
column5 text,
column6 text,
PRIMARY KEY ((column1, column2, column3, column4))
)
我怎样才能获得只有一个分区列的所有唯一值?现在,我知道这不起作用:
SELECT DISTINCT column2 from testtable;
然而,我可以做到
SELECT DISTINCT column1, column2, column3, column4 from testtable;
那么,有没有办法(在CQL中,因为该查询的结果可能非常大)来查询查询结果,就像在SQL中一样?像这样:
SELECT DISTINCT column2 FROM (SELECT DISTINCT column1, column2, column3, column4 from testtable);
哪个不起作用。或者我真的必须使用Python(或其他替代方案)吗?
答案 0 :(得分:2)
简单地说,在CQL中无法实现这一点。整个分区键定义了哪个Cassandra节点负责处理数据,并对其进行查询。因此,它总是必须全部给出。