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的客户端和服务端协议
May 10 MySQL
MySQL 常见存储引擎的优劣
Jun 02 MySQL
解决Mysql的left join无效及使用的注意事项说明
Jul 01 MySQL
MySQL千万级数据表的优化实战记录
Aug 04 MySQL
详细聊聊MySQL中慢SQL优化的方向
Aug 30 MySQL
MySQL之select、distinct、limit的使用
Nov 11 MySQL
Mysql中有关Datetime和Timestamp的使用总结
Dec 06 MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
Jan 22 MySQL
MySQL限制查询和数据排序介绍
Mar 25 MySQL
MySQL索引 高效获取数据的数据结构
May 02 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
May 06 MySQL
Mysql的Table doesn't exist问题及解决
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实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
phplot生成图片类用法详解
2015/01/06 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
Vue表单实例代码
2016/09/05 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
Vue指令指令大全
2019/02/09 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
python中将字典形式的数据循环插入Excel
2018/01/16 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
python实现PID算法及测试的例子
2019/08/08 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
python 伯努利分布详解
2020/02/25 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
城建学院毕业生自荐信
2014/01/31 职场文书
学生会部长竞聘书
2014/03/31 职场文书
小学捐书活动总结
2014/07/05 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
Java异常处理try catch的基本用法
2021/12/06 Java/Android
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技
Elasticsearch 基本查询和组合查询
2022/04/19 Python