我在 Scylla(兼容 Cassandra 的数据库)中有一个表,定义如下:
create table s.items (time timeuuid, name text, primary key (time));
我想运行一个查询,在一定时间后获取所有项目,类似于以下内容:
select * from s.items where time>7e204790-43bf-11e9-9759-000000000004 order by time asc;
但有人告诉我,ORDER BY is only supported when the partition key is restricted by an EQ or an IN.
要解决这个问题,我可以制作一个类似于以下内容的表格和查询:
create table s.items (yes boolean, time timeuuid, name text, primary key (yes, time));
select * from s.items where yes=true and time>7e204790-43bf-11e9-9759-000000000004 order by time asc;
虽然这可行,但它似乎不是最好的解决方案。由于我对 Scylla 和 CQL 还很陌生,有没有更好/正确的方法来做到这一点?