首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >卡桑德拉命令按非主键解决办法

卡桑德拉命令按非主键解决办法
EN

Stack Overflow用户
提问于 2016-05-31 14:04:15
回答 1查看 1.8K关注 0票数 2

Cassandra数据库

似乎除了主键之外,没有其他方法可以订购。

我有两列: ID和时间戳。

我只想要一个每个ID行,但我想筛选(基本上与排序相同?)我的结果基于时间戳。

我想运行以下命令:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT id, timestamp FROM " + TableName + " WHERE timestamp < ? ALLOW FILTERING;

如何做到这一点,同时确保每个id只有一行(如果主键同时包含(ID和时间戳),这是不可能的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-02 05:47:35

我还没有彻底测试过这种方法。但我想我已经找到解决办法了。

我将允许时间戳成为主键的一部分。

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE IF NOT EXISTS " + TableName + " ( key blob, timestamp bigint, PRIMARY KEY( key, timestamp )

但在调用UPDATE/PUT之前,我将删除所有行

代码语言:javascript
代码运行次数:0
运行
复制
WHERE id = ?

这样的话,我仍然可以对时间戳进行排序,同时保留每个ID一行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37547961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档