未加星标

MySQL query for verification alerts during timelapse and condition

字体大小 | |
[数据库(mysql) 所属分类 数据库(mysql) | 发布者 店小二04 | 时间 2019 | 作者 红领巾 ] 0人收藏点击收藏

Hello I have next table:

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

And the conditions are:

value>=15 and value<=20 and this condition must be for a one HOUR or more continuous

for this set of data, query must show (count):

alert, corresponding to events ID 1, 2, 3, 4, 5

I try with:

select * from events where value>=15 and value<= 20

but I dont know how I detect a continuous range of one Hour.

Thanks in advance.

Try it this way

SELECT COUNT(*) total FROM ( SELECT 1 FROM ( SELECT *, @n := @n + 1 rnum, @g := IF(value BETWEEN 15 AND 20, @g + 1, 1) grnum, @p := value FROM table1 CROSS JOIN (SELECT @n := 0, @p := NULL, @g := 0) i ORDER BY datetime ) q GROUP BY rnum - grnum HAVING COUNT(*) >= 5 AND TIMESTAMPDIFF(HOUR, MIN(datetime), MAX(datetime)) >= 1 ) p

Output:

| TOTAL | |-------| | 1 |

Here is SQLFiddle demo

本文数据库(mysql)相关术语:navicat for mysql mysql workbench mysql数据库 mysql 存储过程 mysql安装图解 mysql教程 mysql 管理工具

代码区博客精选文章
分页:12
转载请注明
本文标题:MySQL query for verification alerts during timelapse and condition
本站链接:https://www.codesec.net/view/628404.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mysql) | 评论(0) | 阅读(167)