我们有一张桌子:
FOR /F "TOKENS=1* DELIMS= " %%G IN ('findstr /R "^ECHO" "%~sf0"') DO echo %%H >>"temp.bat"
当我尝试从该表查询时:
CREATE TABLE table (
col1 text,
col2 text,
col3 timestamp,
cl4 int,
col5 timestamp,
PRIMARY KEY (col1, col2, col3, col4)
) WITH CLUSTERING ORDER BY (col2 DESC, col3 DESC,col4 DESC)
我总是收到错误:select * from table where col1 = 'something' and col3 < 'something'
and col4= 12 limit 5 ALLOW FILTERING;
select * from table where col1 = 'something' and col4 < 23
and col3 >= 'something' ALLOW FILTERING;
。
我试图通过创建col4,col3,col2来更改表的创建,但是第二个查询不起作用并抛出类似的错误。
解决此问题的任何建议/建议。
我们正在使用:Cassandra 3.0.17.7。
答案 0 :(得分:1)
您只能在查询分区的最后一列使用非等式条件。
例如,您可以使用col1 = val and col2 <= ...
或col1 = val and col2 = val2 and col3 <= ...
或col1 = val and col2 = val2 and col3 = val3 and col4 <= ...
,但不能在几列上执行非相等条件-Cassandra就是这样读取数据的。