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 相关文章推荐
MySQL 使用SQL语句修改表名的实现
Apr 07 MySQL
MySQL之PXC集群搭建的方法步骤
May 25 MySQL
MySQL中出现乱码问题的终极解决宝典
May 26 MySQL
MySQL系列之十五 MySQL常用配置和性能压力测试
Jul 02 MySQL
mysql 直接拷贝data 目录下文件还原数据的实现
Jul 25 MySQL
MySQL数据库索引的最左匹配原则
Nov 20 MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 MySQL
MySQL Server层四个日志的实现
Mar 31 MySQL
详解MySQL的主键查询为什么这么快
Apr 03 MySQL
MySQL创建管理RANGE分区
Apr 13 MySQL
Mysql数据库事务的脏读幻读及不可重复读详解
May 30 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
怎么在Windows系统中搭建php环境
2013/08/31 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
php实现的通用图片处理类
2015/03/24 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
详解js的六大数据类型
2016/12/27 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
什么是serialVersionUID
2016/03/04 面试题
致垒球运动员加油稿
2014/02/16 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
解约证明模板
2015/06/19 职场文书
javascript对象3个属性特征
2021/11/17 Javascript