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

目录
  • mysql时间序列间隔查询
  • mysql查询指定时间间隔数据

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mysql如何查询日期与时间

    前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询.关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法. 1.日期和时间类型概览 MySQL支持的日期和时间类型有 DATETIME.TIMESTAMP.DATE.TIME.YEAR ,几种类型比较如下: 涉及到日期和时间字段类型选择时,根据存储需求选择合适的类型即可. 2.日期和时间相关函数 处理日期和时间字段的函数有很多,有的经常会在查询中使用到,下面介绍下几个相关函数

  • MySQL DATEDIFF函数获取两个日期的时间间隔的方法

    描述 返回两个日期之间的时间间隔. 语法 DateDiff(interval, date1, date2 [ ,firstdayofweek[ , firstweekofyear]] ) DateDiff 函数的语法有以下参数: 参数 描述 interval 必选.字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔.有关数值,请参阅"设置"部分. date1, date2 必选.日期表达式.用于计算的两个日期. firstdayofweek 可选.指定星期中第一天的

  • MySql查询时间段的方法

    本文实例讲述了MySql查询时间段的方法.分享给大家供大家参考.具体方法如下: MySql查询时间段的方法未必人人都会,下面为您介绍两种MySql查询时间段的方法,供大家参考. MySql的时间字段有date.time.datetime.timestamp等,往往我们在存储数据的时候将整个时间存在一个字段中,采用datetime类型:也可能采用将日期和时间分离,即一个字段存储date,一个字段存储时间time.无论怎么存储,在实际应用中,很可能会出现包含"时间段"类型的查询,比如一个访

  • mysql按照时间分组查询的语句

    mysql 按年.月.周.日分组查询 1.按照年份分组查询 SELECT DATE_FORMAT(t.bill_time,'%Y') month_time,sum(t.pay_price) total FROM f_bill t GROUP BY month_time; 查询结果 2.按照月份分组查询 SELECT DATE_FORMAT(t.bill_time,'%Y-%m') month_time,sum(t.pay_price) total FROM f_bill t GROUP BY m

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

    目录 mysql时间序列间隔查询 mysql查询指定时间间隔数据 mysql时间序列间隔查询 在时间序列处理中,采集到的数据保存在数据表中,采集的频率可能是固定间隔(10秒,1小时或者1天),但往往是不固定的. 处理的时候要固定一个时间间隔进行查询,比如10秒一次的采样,处理的时候变成每小时一次. 可以用以下方法: DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_RealData`(IN `timeBegin` DAT

  • Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】

    本文实例讲述了Python操作MySQL数据库的两种方式.分享给大家供大家参考,具体如下: 第一种 使用pymysql 代码如下: import pymysql #打开数据库连接 db=pymysql.connect(host='1.1.1.1',port=3306,user='root',passwd='123123',db='test',charset='utf8') cursor=db.cursor()#使用cursor()方法获取操作游标 sql = "select * from tes

  • MySQL数据库优化的六种方式总结

    目录 方法一 方法二 方法五 方法六 附:mysql优化的常用方法 总结 方法一 使用连接来代替子查询(Sub-Queries).可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中. DELETE FROM customerinfo WHERE CustomerID NOT in (SELECT customerid FROM salesinfo) 方法二 事务.不是所有的数据库操作都可以只用一条或少数几条SQL语句就可以完成的.更多的时候是需要用到一系

  • Python写入MySQL数据库的三种方式详解

    目录 场景一:数据不需要频繁的写入mysql 场景二:数据是增量的,需要自动化并频繁写入mysql 方式一 方式二 总结 大家好,Python 读取数据自动写入 MySQL 数据库,这个需求在工作中是非常普遍的,主要涉及到 python 操作数据库,读写更新等,数据库可能是 mongodb. es,他们的处理思路都是相似的,只需要将操作数据库的语法更换即可. 本篇文章会给大家分享数据如何写入到 mysql,分为两个场景,三种方式. 场景一:数据不需要频繁的写入mysql 使用 navicat 工

  • MySQL数据库学习之查询操作详解

    目录 1.示例表内容 2.简单查询 3.给列起别名 4.列运算 5.条件查询 1.示例表内容 dept表: +--------+------------+----------+ | DEPTNO | DNAME | LOC | +--------+------------+----------+ | 10 | ACCOUNTING | NEW YORK | | 20 | RESEARCH | DALLAS | | 30 | SALES | CHICAGO | | 40 | OPERATIONS

  • node连接MySQL数据库的3种方式总结

    目录 1.使用mysql包的提供的接口进行连接 2.建立数据库连接池 总结 以下我们将说明node连接数据库的三种方式,并进行利弊说明,以挑选出最适合项目的连接方式. 1.使用mysql包的提供的接口进行连接 例如: connection.query('SELECT * FROM users WHERE id = ?', ['123'], function(err, rows) { if (err) { // error } else { for (let row in rows) { proc

  • 详解Ubuntu Server下启动/停止/重启MySQL数据库的三种方式

    Ubuntu Server下启动/停止/重启MySQL数据库的三种方式 系统环境:ubuntu server 12.10 x64(mysql为系统自带) 当我们需要修​​改MySQL的配置文件my.cnf(windows 下为 my.ini)来进行一些设置的时候,修改完之后我们需要重启MySQL. my.cnf文件位置为:/ect/mysql/my.cnf Waring:如果该文件配置错误,MySQL将无法启动. 下面介绍三种方式对MySQL进行启动/停止/重启操作: 启动mysql: 方式一:

  • PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】

    本文实例讲述了PHP连接MySQL数据库的三种方式.分享给大家供大家参考,具体如下: PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案. PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展.MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版本设计的.因此这个扩展虽然可以与MySQL4.1.3或更

  • python中数据库like模糊查询方式

    在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * FROM table_test WHERE value LIKE '%%%%%s%%%%'" % test_value 执行成功,print出SQL语句之后为: SELECT * FROM table_test WHERE value LIKE '%%public%%' Python在执行sql语句的时候,同样也会有%格式化的问题,仍然需要使

  • 详解java连接mysql数据库的五种方式

    第一种方式:将用户名和密码封装在Properties类中 首先,导入数据库连接包这个是毋庸置疑的.创建一个jdbc驱动dirver.将数据库(以MySQL为例)的url保存在所创建的字符串url中.如果mysql版本低于8.0,则url保存形式应该为: String url = "jdbc:mysql://localhost:3306/test" 如果mysql版本为8.0版本或以上,url保存形式为: String url = "jdbc:mysql://localhost

随机推荐