influxDB的group by time(intervals)

本文详细介绍了InfluxDB的GROUPBYTIME(intervals)函数,包括基础用法和高级用法。GROUPBYTIME用于按时间间隔对查询结果进行分组,有效降低数据存储占用。高级用法允许用户自定义预设时间边界的开始时间,通过offset_interval调整时间区间。文章还提到了时间间隔和OFFSET的影响,以及如何在WHERE子句中正确使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@[TOC](influxDB的group by time(intervals))

一、group by time(intervals)

基础语法:

SELECT function(“field_key”) FROM mearments
WHERE …
GROUP BY TIME(intervals),“tag_key”

基本的 GROUP BY TIME(intervals) 查询用法需要在SELECT子句中调用相关函数(max、min、sum、mean、count…),并且在WHERE子句中调用time时间区间(不加为默认区间)。

intervals是个连续的时间区间,该时间区间决定了InfluxDB如何通过时间来对查询结果进行分组。如果intervals为5h,那么它会将查询结果分为5小时一组(如果在WHERE子句中指定了time区间,那么就是将WHERE中指定的time区间划分为每5小时一组)。

通过使用group by time(intervals)子句,可以有效的将数据归档,以降低系统空间的占用率。

二、高级group by time()用法

influxdb使用预设的整数时间边界来作为GROUP BY的时间间隔,当where子句中不包含此时间间隔,但是预设时间间隔包含intervals,会导致查询结果中有预期之外的时间区间和值。
高级语法:允许用户自定义预设时间边界的开始时间

GROUP BY time(<time_interval>,<offset_interval>)

通过time_interval和offset_interval来表示一个连续的时间区间,该时间区间决定了InfluxDB如何通过时间来对查询结果进行分组。比如,如果时间区间为5m,那么它会将查询结果分为5分钟一组(如果在WHERE子句中指定了time区间,那么就是将WHERE中指定的time区间划分为没5分钟一组)。
offset_interval是持续时间文本。它向前或向后移动InfluxDB数据库的预设时间边界。

下次补充几个示例…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值