mysql 按时间范围查询

Main_Null 2017-02-23 04:12:48
有一个表 表名字: table
时间字段名字: time (YYYY-MM-DD HH:MM:SS)
数据字段名字: data (设备返回的信息如:通讯异常等)
设备编号字段名字: id (设备编号)

表的情况介绍: 这个表里面数据很多几百万条左右,我列出了3个要用到的字段。
储存的设备编号也有很多。收到的信息大概是几秒钟一条。但是不确定有时候10秒钟一条数据
表存储的设备编号不是连续一个设备的,
例如:
time id data
2017-2-23 16:05:33 15 1
2017-2-23 16:05:38 18 0.8
2017-2-23 16:05:39 14 3.2
2017-2-23 16:05:45 15 5.9
2017-2-23 16:05:58 12 1.5


需要筛选: id相同(同一个设备的信息),8个小时内,data的数据要持续大于1,否则就是异常。筛选出异常的信息。


这样的功能用sql可以实现么,需要遍历表怎么比较啊,一直没想出来怎么解决希望哪位大神不吝赐教。
...全文
1901 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Main_Null 2017-02-24
  • 打赏
  • 举报
回复
引用 4 楼 a14745750477 的回复:
[quote=引用 3 楼 zjcxc 的回复:]
SELECT * FROM TABLE A
WHERE A.time >= DATE_ADD(now(), INTERVAL -8 HOUR) AND A.data > 1 -- 8 小时内 data > 1
AND (
	-- 8 小时内,当前记录相同 id 的后续第一条记录的 data(time排序)
	SELECT B.data FROM TABLE B
	WHERE B.time >= DATE_ADD(now(), INTERVAL -8 HOUR)
		AND B.id = A.id
		AND B.time > A.time
	ORDER BY B.time
) > 1

表里的时间和当前时间不一样啊,当前时间减去八小时,和表的时间对不上,表里还有2016年的数据[/quote] 我运行了一下 Subquery returns more than 1 row 提示这个错误!
Main_Null 2017-02-24
  • 打赏
  • 举报
回复

截图表的数据是这样的
Main_Null 2017-02-24
  • 打赏
  • 举报
回复
引用 3 楼 zjcxc 的回复:
SELECT * FROM TABLE A
WHERE A.time >= DATE_ADD(now(), INTERVAL -8 HOUR) AND A.data > 1 -- 8 小时内 data > 1
AND (
	-- 8 小时内,当前记录相同 id 的后续第一条记录的 data(time排序)
	SELECT B.data FROM TABLE B
	WHERE B.time >= DATE_ADD(now(), INTERVAL -8 HOUR)
		AND B.id = A.id
		AND B.time > A.time
	ORDER BY B.time
) > 1

表里的时间和当前时间不一样啊,当前时间减去八小时,和表的时间对不上,表里还有2016年的数据
zjcxc 2017-02-24
  • 打赏
  • 举报
回复
SELECT * FROM TABLE A
WHERE A.time >= DATE_ADD(now(), INTERVAL -8 HOUR) AND A.data > 1 -- 8 小时内 data > 1
AND (
	-- 8 小时内,当前记录相同 id 的后续第一条记录的 data(time排序)
	SELECT B.data FROM TABLE B
	WHERE B.time >= DATE_ADD(now(), INTERVAL -8 HOUR)
		AND B.id = A.id
		AND B.time > A.time
	ORDER BY B.time
) > 1

Main_Null 2017-02-24
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
那意思岂不是只要有小于1的就报警?
是啊,所以时间点我不知道怎么弄。想的脑袋疼不知道怎么写。
rucypli 2017-02-23
  • 打赏
  • 举报
回复
那意思岂不是只要有小于1的就报警?

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧