Cassandra数据库
似乎除了主键之外,没有其他方法可以订购。
我有两列: ID和时间戳。
我只想要一个每个ID行,但我想筛选(基本上与排序相同?)我的结果基于时间戳。
我想运行以下命令:
SELECT id, timestamp FROM " + TableName + " WHERE timestamp < ? ALLOW FILTERING;
如何做到这一点,同时确保每个id只有一行(如果主键同时包含(ID和时间戳),这是不可能的。
发布于 2016-06-01 21:47:35
我还没有彻底测试过这种方法。但我想我已经找到解决办法了。
我将允许时间戳成为主键的一部分。
CREATE TABLE IF NOT EXISTS " + TableName + " ( key blob, timestamp bigint, PRIMARY KEY( key, timestamp )
但在调用UPDATE/PUT之前,我将删除所有行
WHERE id = ?
这样的话,我仍然可以对时间戳进行排序,同时保留每个ID一行。
https://stackoverflow.com/questions/37547961
复制相似问题