代码之家  ›  专栏  ›  技术社区  ›  Roel van Endhoven

如何在sqlite查询中从某个时间戳中选择多个序列

  •  0
  • Roel van Endhoven  · 技术社区  · 6 年前

    我有一个sqlite数据库,其中包含带有时间戳和事件详细信息的事件日志记录。其中一些事件是由系统生成的警报。我需要做的可以用以下伪代码进行最好的解释:

    for each event where type="alarm" get preceeding events between event.timestamp - 1 hour and event.timestamp
    

    现在我要做的是查询数据库一次,以找到每个警报的时间戳,然后循环结果,以获取每个警报的所有时间段。这创建了一个事务列表,我希望将其用于关联规则挖掘,但我觉得让SQL在循环中返回它是低效的。我已经搜索了这个问题的答案,但我想我找不到合适的关键词来搜索。

    我编辑了这个问题,因为它不像我自己想的那么清楚。

    1 回复  |  直到 6 年前
        1
  •  0
  •   DinoCoderSaurus    6 年前

    也许是自我加入?

    SELECT {column list}
    from events e1, events e2
    where e1.type="alarm"
    and e2.time between (date(e1.time),'-1 hour') and e1.time