当前位置: 首页 > 知识库问答 >
问题:

Cassandra,使用开始和结束时间范围

狄阳华
2023-03-14

是否可以跟踪卡桑德拉的“预订”?

基本上,我的大多数查询将涉及一个start_time和一个end_time,我希望在其中找到与该时间相交的所有保留。

我的模式如下所示:

CREATE TABLE IF NOT EXISTS events (
    calendar_id text,
    uid text,
    start_time timestamp,
    end_time timestamp,
    dummy text,
    payload text,
    PRIMARY KEY (calendar_id, start_time, end_time, dummy)
);

我输入了一些数据,如下所示:

  INSERT INTO events
      (calendar_id, start_time, end_time, uid, dummy, payload)
      VALUES ('cal1', '2016-07-25T12:30:00-06', '2016-07-25T13:30:00-06', 'event1', '0', '{"description": "test"}');

我正在尝试这样的查询:

  SELECT * FROM events
      WHERE calendar_id = 'cal1'
      AND dummy = '0'
      AND start_time <= '2016-07-25T13:30:00-06' 
      AND end_time >= '2016-07-25T12:00:00-06';

我得到一个这样的错误:

InvalidRequest: code=2200 [Invalid query] message="Clustering column "end_time" cannot be restricted (preceding column "start_time" is restricted by a non-EQ relation)"

我认为这是可以做到的,因为在这个SO问题中似乎是这样的:在cassandra中存储时间范围

但是,架构没有发布,我们也没有使用pycassa,而且我似乎无法弄清楚如何将其映射到CQL。

任何帮助都将是伟大的!

共有1个答案

富辰阳
2023-03-14

DataTax网站上有一篇很好的博客文章,详细解释了WHERE子句中可以使用什么,以及为什么有限制。请在此处查看。总之,在最后一组受限制的群集列上允许多列切片限制。

 类似资料:
  • 我有这样的桌子 数据如下所示,开始时间和结束时间是连续的时间跨度: 因此,如果用户传递两个参数,则可以在任意时间段内选择* 它应该以如下方式返回表: 你看,棘手的部分是将原始的时间跨度削减到用户定义的时间跨度(@from-@To),我已经为此奋斗了一整天。请指教。 提前非常感谢你!!!

  • 问题内容: 我有这样的时间戳字符串: 我想对它们进行排序,以便可以从上述时间戳获取起始范围和终止范围。我正在做如下: 这将为我提供上述时间戳列表的开始和结束范围。这是正确的方法还是有更好的方法? 更新资料 因此,我应该执行以下操作: 问题答案: 将那些ISO 8601 字符串解析为对象。 将这些日期时间对象添加到并排序。您可能想要诸如或。 java.time类实现该方法,以作为实现合同。因此,这些

  • 我想从JavaGUI到数据库获取startTime和endTime的值。 电脑座位班 Cobadatabase类 这里的问题是,当单击登录按钮时,开始时间显示在我的数据库中的开始时间和结束时间列上。当单击注销按钮时,将在数据库中创建另一个行,该行在starTime和endTime列上都包含endTime。我想知道为什么会这样...

  • 问题内容: 我尝试通过使用以下命令使用视频的开始和结束时间剪切视频 通过使用上述命令,我想将视频从剪切为。但是,这并不是在这段时间之间剪切视频,而是在前11秒内剪切视频。谁能帮我解决这个问题? 编辑1: 我试图通过使用mark4o建议的以下命令进行剪切 但是显示以下错误。 编码器“ aac”是实验性的,但未启用实验性编解码器 所以我在命令中添加了 现在工作正常。 问题答案: 您可能在3秒标记处没有

  • 问题内容: 我有两个表: 我希望将事件数据添加到视频数据中,以便为每个事件获取视频文件名。记录器字段用于指定在事件发生时可操作的记录器,并协助多个记录器同时记录视频。 如果我不关心没有视频的事件,那很好(我可以获取SQL),但是在我的情况下,我希望显示最接近的视频文件名和秒数差异。 编辑 样本数据 大事记 视频 结果(EventID,VideoID,文件名,IsBetween,secondsDif