卡桑德拉选择查询失败

时间:2019-02-13 19:44:37

标签: cassandra cassandra-3.0

我们有一张桌子:

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。

1 个答案:

答案 0 :(得分:1)

您只能在查询分区的最后一列使用非等式条件。

例如,您可以使用col1 = val and col2 <= ...col1 = val and col2 = val2 and col3 <= ...col1 = val and col2 = val2 and col3 = val3 and col4 <= ...,但不能在几列上执行非相等条件-Cassandra就是这样读取数据的。