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 07 MySQL
MySQL命令行操作时的编码问题详解
Apr 14 MySQL
MySql学习笔记之事务隔离级别详解
May 12 MySQL
虚拟机linux端mysql数据库无法远程访问的解决办法
May 26 MySQL
Navicat连接MySQL错误描述分析
Jun 02 MySQL
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
Jun 26 MySQL
MySQL一些常用高级SQL语句
Jul 03 MySQL
Mysql排序的特性详情
Nov 01 MySQL
分析MySQL优化 index merge 后引起的死锁
Apr 19 MySQL
mysql 8.0.27 绿色解压版安装教程及配置方法
Apr 20 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 MySQL
Mysql中的触发器定义及语法介绍
Jun 25 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的FTP学习(三)
2006/10/09 PHP
php发送post请求的三种方法
2014/02/11 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
jQuery表单设置值的方法
2017/06/30 jQuery
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
python实现百度关键词排名查询
2014/03/30 Python
Python编程中的文件操作攻略
2015/10/16 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
美国一家主打母婴用品的团购网站:zulily
2017/09/19 全球购物
中海讯通笔试题
2015/09/15 面试题
介绍信怎么写
2015/01/30 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python