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升级到5.7时,wordpress导数据报错1067的问题
May 27 MySQL
mysql中between的边界,范围说明
Jun 08 MySQL
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
Jun 26 MySQL
浅析MySQL如何实现事务隔离
Jun 26 MySQL
MySQL的Query Cache图文详解
Jul 01 MySQL
Mysql中where与on的区别及何时使用详析
Aug 04 MySQL
Mysql排序的特性详情
Nov 01 MySQL
MYSQL 表的全面总结
Nov 11 MySQL
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
Mar 23 MySQL
Mysql 8.x 创建用户以及授予权限的操作记录
Apr 18 MySQL
MySQL数据库配置信息查看与修改方法详解
Jun 25 MySQL
mysql数据库如何转移到oracle
Dec 24 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操作文件方法问答
2007/03/16 PHP
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
DOM 基本方法
2009/07/18 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
2017/07/10 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
微信小程序实现留言板
2018/10/31 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
Python input函数使用实例解析
2019/11/22 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
干部考核评语
2014/04/29 职场文书
英语复习计划
2015/01/19 职场文书
抢劫罪辩护词
2015/05/21 职场文书
学校运动会简讯
2015/07/20 职场文书
环保建议书作文300字
2015/09/14 职场文书