【发布时间】:2018-05-22 08:32:20
【问题描述】:
我在 5.6 版中使用 MySQL。 (提到是因为不存在可用的mysql函数)
给定一个带有“运动检测”时间戳的表格。每一行都检测到运动。没有动作就意味着没有进入。
Id | Date Time
---------------
1 | 2018-01-01 15:00:01 // Start of activity phase 1
2 | 2018-01-01 15:00:03
3 | 2018-01-01 15:00:06 // Stop of activity phase 1
// Non-Activity phase
4 | 2018-01-01 17:01:06 // Start of activity phase 2
5 | 2018-01-01 17:02:06
6 | 2018-01-01 17:02:09 // Stop of activity phase 2
// Non-Activity phase, big one because of holiday
7 | 2018-01-10 19:40:06 // Start of activity phase 3
8 | 2018-01-10 19:41:06 // Stop of activity phase 3
我很难找到一个 SQL 查询来概述“活动阶段”。
我试图得到的是这样的:
Id | Activity starts | Activity ends
---------------------------------------------
1 | 2018-01-01 15:00:01 | 2018-01-01 15:00:06
2 | 2018-01-01 17:01:06 | 2018-01-01 17:02:09
3 | 2018-01-10 19:40:06 | 2018-01-10 19:41:06
我想查看“活动阶段”的开始和结束时间戳。 “活动阶段”的定义:“活动阶段”位于(例如)至少两个“非活动阶段”之间30 分钟。
提前谢谢你。
【问题讨论】:
-
在哪里可以阅读与 id / 日期时间相关的活动阶段?
-
嗨,我所拥有的只是清单 1 中显示的数据,我正在寻找一个产生如清单 2 所示内容的查询。
-
在您的列表 1 中,只有关于活动阶段的信息是您的评论。使用这些数据无法实现目标
-
再次感谢,我认为这个问题没有被理解或解释得不好。谈到清单 1:ID 3 和 4 之间没有其他行。因此,在 2018-01-01 15:00:06 和 2018-01-01 17:01:06 之间没有检测到任何动作。这是一个非活动阶段,因为它超过 30 分钟。活动阶段是不包含 (row:row+1) >= 30 分钟的所有内容。
标签: mysql time-series