【发布时间】:2015-05-22 10:20:41
【问题描述】:
在此表中,los.configuration 的分区键包含 3 列(1. groupname 2. class 3.yearofjoining)。可能有 2 类 BPL 和 APL。我想从数据库中选择这两个类别。
所以我必须使用查询:
SELECT * FROM CONFIGURATION WHERE GROUPNAME = 332
AND CLASS IN ('APL','BPL') AND YEAROFJOINING IN (2014,2015);
当我尝试这个查询时,它返回一个错误
Partition KEY部分类不能被IN关系限制(只有partition key的最后一部分可以)。
知道问题出在哪里吗?
【问题讨论】:
-
This is not working不是一个好问题。它怎么不工作?而且您的问题很可能是因为您没有将键空间添加到列族中。用select * from keyspace.table where condition1 = something试试看是否可行。 -
您是否尝试在 where 子句中使用 OR 条件? stackoverflow.com/questions/10139390/…
-
SELECT * from TABLE where condition1 = something or condition1 = something
-
@Getz 虽然这可能适用于 SQL,但不适用于 CQL(Cassandra 查询语言)。
-
在这个表中 los.configuration 有一个由 3 列组成的分区键。 (1. 组名 2. 班级 3.yearofjoining)。可能有 2 类 BPL 和 APL。我想从数据库中选择这两个类别。 yearofjoining 是一个 int 列表。所以我必须使用查询 SELECT * FROM CONFIGURATION WHERE GROUPNAME = 332 AND CLASS IN ('APL','BPL') AND YEAROFJOINING IN (2014,2015);当我尝试这个查询时,它返回一个错误,因为分区键部分类不能受 IN 关系限制(只有分区键的最后一部分可以)。知道问题出在哪里吗?
标签: cassandra cql multiple-conditions select-query