MySql数据库 查询时间序列间隔


Posted in MySQL onMay 11, 2022

mysql时间序列间隔查询

在时间序列处理中,采集到的数据保存在数据表中,采集的频率可能是固定间隔(10秒,1小时或者1天),但往往是不固定的。

处理的时候要固定一个时间间隔进行查询,比如10秒一次的采样,处理的时候变成每小时一次。

可以用以下方法:

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_RealData`(IN `timeBegin` DATETIME, IN `timeEnd` DATETIME, IN `timeInterval` INT)
    MODIFIES SQL DATA
    SQL SECURITY INVOKER
    COMMENT '/*存储过程:按起始、终止时间,以及时间间隔,抽取数据*/'
BEGIN
        SET @time := '1000-01-01 00:00:00';
        SET @interval := timeInterval;
        SELECT * FROM realdata_table
        WHERE `realdata_table`.`received_time` >= timeBegin AND `realdata_table`.`received_time` <= timeEnd
        AND TIMESTAMPDIFF( SECOND, @time, `realdata_table`.`received_time` ) >= @interval
        AND @time := `realdata_table`.`received_time`;
END$$
DELIMITER ;

调用的时候:

SET @p0='2016-03-29 00:00:00'; 
SET @p1='2016-03-31 00:00:00'; 
SET @p2='3600'; 
CALL `proc_RealData`(@p0, @p1, @p2);

mysql查询指定时间间隔数据

CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_RealData`(IN `timeBegin` DATETIME, IN `timeEnd` DATETIME, IN `timeInterval` INT)
    MODIFIES SQL DATA
    SQL SECURITY INVOKER
    COMMENT '/*存储过程:按起始、终止时间,以及时间间隔,抽取数据*/'
BEGIN
        SET @time := '1000-01-01 00:00:00';
        SET @interval := timeInterval;
        SELECT * FROM em_air_humidity
        WHERE `em_air_humidity`.`DateTime` >= timeBegin AND `em_air_humidity`.`DateTime` <= timeEnd
        AND TIMESTAMPDIFF( SECOND, @time, `em_air_humidity`.`DateTime` ) >= @interval
        AND @time := `em_air_humidity`.`DateTime`;
END
MySQL 相关文章推荐
多表查询、事务、DCL
Apr 05 MySQL
数据库连接池
Apr 06 MySQL
将图片保存到mysql数据库并展示在前端页面的实现代码
May 02 MySQL
MySQL 表空间碎片的概念及相关问题解决
May 07 MySQL
超详细教你怎么升级Mysql的版本
May 19 MySQL
MySQL不使用order by实现排名的三种思路总结
Jun 02 MySQL
MySQL 8.0 驱动与阿里druid版本兼容问题解决
Jul 01 MySQL
MySQL中连接查询和子查询的问题
Sep 04 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
如何创建一个创建MySQL数据库中的datetime类型
Mar 21 MySQL
MySQL数据库优化之通过索引解决SQL性能问题
Apr 10 MySQL
MySQL GTID复制的具体使用
May 20 MySQL
Mysql中常用的join连接方式
May 11 #MySQL
MySQL的prepare使用以及遇到的bug
May 11 #MySQL
MySQL批量更新不同表中的数据
May 11 #MySQL
mysql查找连续出现n次以上的数字
May 11 #MySQL
mysql如何查询连续记录
May 11 #MySQL
mysql 体系结构和存储引擎介绍
MySQL数据库 安全管理
May 06 #MySQL
You might like
php动态生成JavaScript代码
2009/03/09 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
vue的mixins属性详解
2018/03/14 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
python实现的简单RPG游戏流程实例
2015/06/28 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
Python实现对文件进行单词划分并去重排序操作示例
2018/07/10 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
设计师珠宝:Ylang 23
2018/05/11 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
马云的职业生涯规划之路
2014/01/01 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
金融管理应届生求职信
2014/02/20 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
2014年实习生工作总结
2014/11/27 职场文书
稽核岗位职责
2015/02/10 职场文书
客户付款通知书
2015/04/23 职场文书
党支部鉴定意见
2015/06/02 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS