服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySql数据库时间序列间隔查询方式

MySql数据库时间序列间隔查询方式

2022-10-27 14:56patrick75 Mysql

这篇文章主要介绍了MySql数据库时间序列间隔查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mysql时间序列间隔查询

在时间序列处理中,采集到的数据保存在数据表中,采集的频率可能是固定间隔(10秒,1小时或者1天),但往往是不固定的。

处理的时候要固定一个时间间隔进行查询,比如10秒一次的采样,处理的时候变成每小时一次。

可以用以下方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 ;

调用的时候:

?
1
2
3
4
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查询指定时间间隔数据

?
1
2
3
4
5
6
7
8
9
10
11
12
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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/patrick75/article/details/51057550

延伸 · 阅读

精彩推荐
  • MysqlMysql DBA 20天速成教程

    Mysql DBA 20天速成教程

    准备一台pc,一根网线和20天无打扰的空余时间,把MySQL 5.1参考手册设置为浏览器首页,按下面列表逐条学习即可,这本中文手册包括基本上所有的内容,补...

    MYSQL教程网2012020-03-19
  • MysqlMySQL-tpch 测试工具简要手册

    MySQL-tpch 测试工具简要手册

    tpch是TPC(Transaction Processing Performance Council)组织提供的工具包。用于进行OLAP测试,以评估商业分析中决策支持系统(DSS)的性能。它包含了一整套面向商业的...

    MYSQL教程网6012020-06-11
  • MysqlMySQL存储Json字符串遇到的问题与解决方法

    MySQL存储Json字符串遇到的问题与解决方法

    要在MySQL中存储数据,必须定义数据库和表结构,下面这篇文章主要给大家介绍了关于MySQL存储Json字符串遇到的问题与解决方法,文中通过实例代码介绍的非常...

    逸辰杳6322022-07-19
  • MysqlMYSQL必知必会读书笔记第十和十一章之使用函数处理数据

    MYSQL必知必会读书笔记第十和十一章之使用函数处理数据

    这篇文章主要介绍了MYSQL必知必会读书笔记第十和十一章之使用函数处理数据的相关资料,需要的朋友可以参考下 ...

    自然鸟神5582020-06-07
  • MysqlMySQL对limit查询语句的优化方法

    MySQL对limit查询语句的优化方法

    这篇文章主要介绍了MySQL对limit查询语句的优化方法,分别讲解了offset参数比较小和offset参数比较大的时候,如何优化查询语句,需要的朋友可以参考下 ...

    junjie4272020-04-10
  • MysqlMySQL Router实现MySQL的读写分离的方法

    MySQL Router实现MySQL的读写分离的方法

    MySQL Router是MySQL官方提供的一个轻量级MySQL中间件,用于取代以前老版本的SQL proxy。本文主要介绍了MySQL Router实现MySQL的读写分离的方法,感兴趣的可以了解...

    骏马金龙11902021-08-05
  • MysqlMySQL8.0.11安装总结教程图解

    MySQL8.0.11安装总结教程图解

    本文通过图文并茂的形式给大家介绍了MySQL8.0.11安装总结,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    llC20183512020-08-30
  • MysqlMySQL数据分析存储引擎示例讲解

    MySQL数据分析存储引擎示例讲解

    这篇文章主要为大家介绍了MySQL数据分析关于存储引擎的示例讲解,搞懂存储引擎会对大家在数据分析方面有很大的帮助,有需要的朋友可以借鉴参考下...

    数据分析与统计学之美11462021-11-25