【发布时间】:2014-01-14 20:39:02
【问题描述】:
你好,我有下一张桌子:
EventID datetime value
1 2012-12-15 12:45:06 15.3
2 2012-12-15 13:00:06 16.9
3 2012-12-15 13:15:06 17.3
4 2012-12-15 13:30:06 16.9
5 2012-12-15 13:45:06 18.8
6 2012-12-15 14:00:06 21.3
7 2012-12-15 14:15:06 21.9
9 2012-12-15 14:30:06 22.7
10 2012-12-15 14:45:06 23.2
11 2012-12-15 15:00:06 23.6
条件是:
value>=15 和 value<=20 并且此条件必须持续一小时或更长时间
对于这组数据,查询必须显示(count):
1
alert,对应事件ID1, 2, 3, 4, 5
我尝试:
select * from events where value>=15 and value<=20
但我不知道如何检测一小时的连续范围。
提前致谢。
【问题讨论】:
-
您无法从 SQL 可靠地执行此操作。用 PHP 或 C# 等编程语言抓取相关结果并检测那里的连续性。
-
@Mihai,一样,不行
-
不连续@Mihai
-
这是一个复杂且相当昂贵的查询。您是否考虑过使用触发器?
-
@TonyHopkinson 是的,但同样的问题,我必须记住条件开始的第一次,并检查接下来的 15 分钟是否进入间隔。
标签: mysql sql datetime date-range