Cassandra 如何在CQL3中为复合行键执行多重获取?

Cassandra 如何在CQL3中为复合行键执行多重获取?,cassandra,cql3,Cassandra,Cql3,CF模式: CREATE TABLE mytable ( upperId int, lowerId int, hour timestamp, counter text, succ int, fail int, PRIMARY KEY ((upperId, lowerId), hour, counter)); 每个记录都由复合id upperId:lowerid键入,如何使用CQL3执行多重获取 这是无效的: select * from mytable where (upperid, lower

CF模式:

CREATE TABLE mytable (
upperId int,
lowerId int,
hour timestamp,
counter text,
succ int,
fail int,
PRIMARY KEY ((upperId, lowerId), hour, counter));
每个记录都由复合id upperId:lowerid键入,如何使用CQL3执行多重获取

这是无效的:

select * from mytable where (upperid, lowerid) in ((10000, 1), (10000, 2), (20000, 1));
我也不能这样做:

select * from mytable where (upperid = 10000 and lowerid in (1, 2)) or (upperid = 20000 and lowerid = 1);
我得到错误:在''处缺少EOF

请帮助指出在CQL3中为复合行键执行多重获取的有效方法

谢谢,
William

CQL尚不支持select语句中的逻辑“或”

相反,在您的应用程序中,您可以组合来自两个查询的结果集:

select * from mytable where upperid = 10000 and lowerid in (1, 2);
select * from mytable where upperid = 20000 and lowerid = 1;
参考:

  • 因此,问题:
  • 最近的

这让人惊讶,或者说是非常自然和标准的关系。有什么好的理由不支持它吗?