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创建索引需要了解的
Apr 08 MySQL
MySQL kill不掉线程的原因
May 07 MySQL
MySQL 自定义变量的概念及特点
May 13 MySQL
Mysql官方性能测试工具mysqlslap的使用简介
May 21 MySQL
MySQL系列之十五 MySQL常用配置和性能压力测试
Jul 02 MySQL
SQL 聚合、分组和排序
Nov 11 MySQL
mysql中varchar类型的日期进行比较、排序等操作的实现
Nov 17 MySQL
MySQL数据库索引的最左匹配原则
Nov 20 MySQL
MySQL数据库如何给表设置约束详解
Mar 13 MySQL
MySQL创建表操作命令分享
Mar 25 MySQL
Mysql 数据库中的 redo log 和 binlog 写入策略
Apr 26 MySQL
MySQL索引 高效获取数据的数据结构
May 02 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删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
拖动一个HTML元素
2006/12/22 Javascript
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
应用化学专业职业生涯规划书
2013/12/31 职场文书
施工安全标语
2014/06/07 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL