【问题标题】:Cassandra CQL query giving error with ORDER BY ASC and LIMITCassandra CQL 查询给出 ORDER BY ASC 和 LIMIT 错误
【发布时间】:2018-11-22 14:24:49
【问题描述】:

我创建了一个具有以下配置的 Cassandra 表:

CREATE TABLE "ABC" (
    subsector text,
    marketcapital decimal,
    id text,
    PRIMARY KEY (subsector, marketcapital, id)
) WITH CLUSTERING ORDER BY ( marketcapital DESC, id ASC )

CQL 查询在 Datastax 开发中心运行时出错:

select * from "ABC" where subsector='10010' and marketcapital > 50717820.457485 ORDER BY marketcapital ASC  LIMIT 3

在执行上述查询时,我得到以下错误:

使用 LIMIT 关键字的 ORDER BY ASC 似乎有错误。

【问题讨论】:

  • 我可以通过不给出任何 ORDER BY 值来解决这个问题,例如下面...但不确定为什么这有效,但不是上面的查询。 select * from "EquitiesBySubsector" where subsector='10010' and marketcapital > 50717820.457485 ORDER BY marketcapital LIMIT 3
  • 嗯,错误消息中的查询看起来不同。您可以在cqlsh 中查看该查询吗?
  • 这绝对是一个有效的 CQL 查询。我注意到错误消息如何截断marketcapital 和 LIMIT 之间的空间。它看起来像开发中心中的查询解析错误。

标签: cassandra cql datastax-enterprise


【解决方案1】:

这似乎是 Datastax 开发中心的问题,因为当我使用 cqlsh 运行相同的查询时工作正常。

最可能的原因是开发中心正在使用一些旧版本的 CQL 规范,因为发生了这个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 2016-06-12
    • 2017-09-25
    • 1970-01-01
    • 2023-03-21
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多