假设我有一张如下组成的表格。
CREATE TABLE rollup (
hashname text,
key text,
day timestamp,
counter_value counter,
PRIMARY KEY (hashname, key, day)
) WITH
...
我想运行一个看起来像的查询
SELECT * FROM rollup WHERE hashname='some_namespaced_hash' AND day>='2013-07-15' AND day<='2013-07-25';
但是,这不起作用,因为(我认为)以下内容也与>
,<
等相关。
复合键意味着 CQL 现在也可以在 SELECT 查询中使用 ORDER BY 语法,但它仍然不像您可能习惯的那样灵活,在 SQL 中执行即席查询。ORDER BY 子句只能选择单个列,并且该列必须是复合 PRIMARY KEY 中的第二列。这甚至适用于主键中包含 2 个以上列组件的表
这里,day
是主列键中的第三列。我能想到的唯一方法是将主复合键更改为PRIMARY KEY (hashname, day, key)
. 我找不到任何文档告诉我如何做到这一点。可能吗?
或者,我是否错过了解决此问题的“正确”方法/我是否误解了问题?