select 中的 where 条件来自 table 的数据

The where condition in select the data from table

我正在尝试从 cassandra 数据库中检索分区键值为奇数的数据。
现在我有 table t 和主键 p。

我试过了

Select * from t where token(p)%2=1;

但我收到错误消息:

SyntaxException: line 1:44 no viable alternative at input '%' (...from videos_by_tag where token(tag)[%]...)

我能做什么?

Cassandra不支持那种算术运算,一般希望这种运算在客户端解决,说明here

您尝试实现的查询具有非常低的基数(预期只有 2 个值),这会带来很大的麻烦,因为您将有效地检索所包含的所有信息的一半。这对 long time

来说是一个挑战

没有灵丹妙药可以完成这项工作,一个选项是添加一个额外的列来指示它是奇数还是偶数,并将其作为复合主键的一部分,另一个选项是有 2单独的表,一个用于奇数标记,另一个用于偶数。