influxDB的group by time(intervals)

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

下次补充几个示例…

你可能感兴趣的:(influxDB,实时大数据)