Cassandra 如何在CQL3中为复合行键执行多重获取?
CF模式: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
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中为复合行键执行多重获取的有效方法
谢谢,
WilliamCQL尚不支持select语句中的逻辑“或” 相反,在您的应用程序中,您可以组合来自两个查询的结果集:
select * from mytable where upperid = 10000 and lowerid in (1, 2);
select * from mytable where upperid = 20000 and lowerid = 1;
参考:
- 因此,问题:
- 最近的