Documentation

InfluxQL 转换函数

InfluxQL 转换函数修改并返回查询数据每行的值。

下面每个转换函数涵盖语法,包括传递给函数的参数,以及如何使用该函数的示例。示例使用NOAA水样数据和来自sample_test.txt的数据。

绝对值函数(ABS)()

返回字段值的绝对值。支持 GROUP BY 子句,按标签分组,但不支持 按时间分组

基本语法

SELECT ABS( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

ABS(field_key)
返回与字段键相关联的字段值的绝对值。

ABS(*)
返回与measurement中每个字段键相关联的字段值的绝对值。

ABS() 支持 int64 和 float64 字段值 数据类型

示例

计算与字段键相关的字段值的绝对值

计算与测量中每个字段键相关联的字段值的绝对值

计算与字段键关联的字段值的绝对值并包含多个子句

高级语法

SELECT ABS(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后对这些结果应用 ABS() 函数。

ABS() 支持以下嵌套函数:

COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),和 PERCENTILE()

示例

计算均值的绝对值

反余弦函数(ACOS)

返回字段值的反余弦(以弧度为单位)。字段值必须在 -1 和 1 之间。支持 GROUP BY 子句,按 标签分组,但不支持 按时间分组

基本语法

SELECT ACOS( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

ACOS(field_key)
返回与字段键相关联的字段值的反余弦。

ACOS(*)
返回与measurement中每个字段键相关联的字段值的反余弦。

ACOS() 支持值在 -1 和 1 之间的 int64 和 float64 字段值 数据类型

示例

下面的示例使用来自 sample_test.txt 的一部分数据,这些数据仅包括可计算范围内的字段值(-1 到 1)。这个值范围是 ACOS() 函数所要求的:

时间a
2018-06-24T12:01:00Z-0.774984088561186
2018-06-24T12:02:00Z-0.921037167720451
2018-06-24T12:04:00Z-0.905980032168252
2018-06-24T12:05:00Z-0.891164752631417
2018-06-24T12:09:00Z0.416579917279588
2018-06-24T12:10:00Z0.328968116955350
2018-06-24T12:11:00Z0.263585064411983

计算与字段键相关的字段值的反余弦

计算与测量中每个字段键相关联的字段值的反余弦

计算与字段键相关的字段值的反余弦,并包含多个子句

高级语法

SELECT ACOS(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后将 ACOS() 函数应用于这些结果。

ACOS() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()

示例

计算均值的反余弦

ASIN()

返回字段值的反正弦(以弧度为单位)。字段值必须在-1和1之间。

基本语法

SELECT ASIN( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

ASIN(field_key)
返回与 field key 相关的字段值的反正弦值。

ASIN(*)
返回与measurement中每个字段键关联的字段值的反正弦。

ASIN() 支持 int64 和 float64 字段值 数据类型,其值在 -1 和 1 之间。

支持 GROUP BY 子句,用于 按标签分组,但不支持 GROUP BY 子句,用于 按时间分组。要在 GROUP BY time() 子句中使用 ASIN(),请参阅 高级语法

示例

下面的示例使用来自 sample_test.txt 的以下数据。

此数据集中提供的数据仅包括ASIN()函数所需的可计算范围内的字段值(-1到1):

时间a
2018-06-24T12:01:00Z-0.774984088561186
2018-06-24T12:02:00Z-0.921037167720451
2018-06-24T12:04:00Z-0.905980032168252
2018-06-24T12:05:00Z-0.891164752631417
2018-06-24T12:09:00Z0.416579917279588
2018-06-24T12:10:00Z0.328968116955350
2018-06-24T12:11:00Z0.263585064411983

计算与字段键相关联的字段值的反正弦

计算与测量中每个字段键相关的字段值的反正弦

计算与字段键相关的字段值的反正弦,并包括多个子句

高级语法

SELECT ASIN(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 时间间隔内计算嵌套函数的结果,然后将 ASIN() 函数应用于这些结果。

ASIN() 支持以下嵌套函数: COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),以及 PERCENTILE()

示例

计算平均值的反正弦

反正切函数 ATAN()

返回字段值的反正切(以弧度为单位)。字段值必须在-1和1之间。

支持 GROUP BY 子句按 标签分组,但不支持 GROUP BY 子句按 时间分组。要在 GROUP BY time() 子句中使用 ATAN(),请参阅 高级语法

基本语法

SELECT ATAN( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

ATAN(field_key)
返回与字段键关联的字段值的反正切。

ATAN(*)
返回与measurement中每个字段键相关联的字段值的反正切。

ATAN() 支持 int64 和 float64 字段值 数据类型,值的范围在 -1 和 1 之间。

示例

以下示例使用来自 sample_test.txt 的子集数据,该数据仅包含 ATAN() 函数所需的可计算范围内的字段值(-1 到 1)。

计算与字段键相关的字段值的反正切

计算与测量中每个字段键相关的字段值的反正切

计算与字段键相关联的字段值的反正切并包括多个子句

高级语法

SELECT ATAN(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 时间间隔内计算嵌套函数的结果,然后将 ATAN() 函数应用于这些结果。

ATAN() 支持以下嵌套函数: COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),以及 PERCENTILE()

高级语法示例

计算平均值的反正切

ATAN2()

返回 y/x 的反正切值(以弧度表示)。

基本语法

SELECT ATAN2( [ * | <field_key> | num ], [ <field_key> | num ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

ATAN2(field_key_y, field_key_x)
返回与 字段键 相关的字段值 field_key_y 除以与 field_key_x 相关的字段值的反正切。

ATAN2(*, field_key_x)
返回与每个字段键相关联的字段值在测量中除以与field_key_x相关联的字段值。

ATAN2() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,这些子句 根据标签分组,但不支持 GROUP BY 子句,这些子句 根据时间分组。要使用 ATAN2()GROUP BY time() 子句,请参阅 高级语法

示例

下面的示例使用 sample_test.txt

计算 field_key_a 上 field_key_b 的反正切

计算与每个测量中的字段键关联的值的反正切,分母为field_key_a

计算字段值的反正切并包含多个条件

高级语法

SELECT ATAN2(<function()>, <function()>) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后将 ATAN2() 函数应用于这些结果。

ATAN2() 支持以下嵌套函数: COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),以及 PERCENTILE()

示例

计算均值的反正切

向上取整()

返回向上舍入到最近整数的后续值。

基本语法

SELECT CEIL( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

CEIL(field_key)
返回与字段键相关联的字段值,并向上舍入到最近的整数。

CEIL(*)
返回与每个字段键相关联的字段值,在measurement中向上取整至最接近的整数。

CEIL() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句进行 按标签分组,但不支持 GROUP BY 子句进行 按时间分组。要使用 CEIL()GROUP BY time() 子句,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键关联的字段值的上限

计算与测量中每个字段键相关联的字段值的上限

计算与字段键关联的字段值的上限,并包含多个子句

高级语法

SELECT CEIL(<function>( [ * | <field_key> | /<regular_expression>/ ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 时间间隔内计算嵌套函数的结果,然后将 CEIL() 函数应用于这些结果。

CEIL() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE().

示例

计算向上舍入到最近整数的平均值

COS()

返回字段值的余弦。

基本语法

SELECT COS( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

COS(field_key)
返回与字段键相关联的字段值的余弦值。

COS(*)
返回与每个字段键相关联的字段值的余弦,在measurement中。

COS() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,按照 标签分组,但不支持 GROUP BY 子句,按照 时间分组。要将 COS()GROUP BY time() 子句一起使用,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的余弦

计算与测量中每个字段键关联的字段值的余弦

计算与字段键关联的字段值的余弦并包含多个子句

高级语法

SELECT COS(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后将 COS() 函数应用于这些结果。

COS() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()

示例

计算平均值的余弦

累积和()

返回后续字段值的累计总和。

基本语法

SELECT CUMULATIVE_SUM( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

CUMULATIVE_SUM(field_key)
返回与字段键相关联的后续字段值的运行总和。

CUMULATIVE_SUM(/regular_expression/)
返回与匹配正则表达式的每个字段键相关联的后续字段值的累计总和。

CUMULATIVE_SUM(*)
返回与每个字段键相关联的后续字段值的运行总和。

CUMULATIVE_SUM() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句来 按标签分组,但不支持 GROUP BY 子句来 按时间分组。要使用 CUMULATIVE_SUM()GROUP BY time() 子句,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的累计和

计算与测量中每个字段键相关的字段值的累积和

计算与匹配正则表达式的每个字段键相关联的字段值的累计和

计算与字段键关联的字段值的累积和并包含多个子句

高级语法

SELECT CUMULATIVE_SUM(<function>( [ * | <field_key> | /<regular_expression>/ ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个GROUP BY time() 子句和一个嵌套的InfluxQL函数。查询首先计算指定GROUP BY time()间隔内嵌套函数的结果,然后将CUMULATIVE_SUM()函数应用于这些结果。

CUMULATIVE_SUM() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()

示例

计算均值的累积和

导数()

返回后续字段值之间的变化率。

基本语法

SELECT DERIVATIVE( [ * | <field_key> | /<regular_expression>/ ] [ , <unit> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

InfluxDB计算后续字段值之间的差异,并将这些结果转换为每个unit的变化率。 unit参数是一个后面跟着duration的整数,它是可选的。 如果查询未指定unit,则单位默认为一秒(1s)。

DERIVATIVE(field_key)
返回与字段键相关的后续字段值之间的变化率。

DERIVATIVE(/regular_expression/)
返回与每个匹配正则表达式的字段键相关联的后续字段值之间的变化率。

DERIVATIVE(*)
返回与每个字段键相关联的measurement中后续字段值之间的变化率。

DERIVATIVE() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,该子句 按标签分组 但不支持 GROUP BY 子句,该子句 按时间分组。要使用 DERIVATIVE()GROUP BY time() 子句,请参见 高级语法

示例

本节中的示例使用以下子样本的NOAA水样数据

SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关联的字段值之间的导数

计算与字段键相关的字段值之间的导数,并指定单位选项

计算测量中每个字段键相关的字段值之间的导数,并指定单位选项

计算与每个匹配正则表达式的字段键相关的字段值之间的导数,并指定单位选项

计算与字段键相关的字段值之间的导数,并包含多个子句

高级语法

SELECT DERIVATIVE(<function> ([ * | <field_key> | /<regular_expression>/ ]) [ , <unit> ] ) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法要求一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后将 DERIVATIVE() 函数应用于这些结果。

参数 unit 是一个整数,后面跟着一个 duration,这是可选的。 如果查询没有指定 unit,则 unit 默认值为 GROUP BY time() 的时间间隔。 请注意,这种行为与 basic syntax’s 的默认行为是不同的。

DERIVATIVE()支持以下嵌套函数: COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),以及 PERCENTILE()

示例

计算平均值的导数

计算平均值的导数并指定单位选项

差异()

返回后续字段值之间的减法结果。

语法

SELECT DIFFERENCE( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

DIFFERENCE(field_key)
返回与字段键相关的后续字段值之间的差异。

DIFFERENCE(/regular_expression/)
返回与匹配正则表达式的每个字段键相关联的后续字段值之间的差异。

DIFFERENCE(*)
返回与每个字段键相关联的后续字段值之间的差异,位于measurement中。

DIFFERENCE() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句按 标签分组,但不支持 GROUP BY 子句按 时间分组。要使用 DIFFERENCE()GROUP BY time() 子句,见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键关联的字段值之间的差异

计算测量中与每个字段键相关联的字段值之间的差异

计算与匹配正则表达式的每个字段键相关联的字段值之间的差异

计算与字段键相关联的字段值之间的差异并包含几个条款

高级语法

SELECT DIFFERENCE(<function>( [ * | <field_key> | /<regular_expression>/ ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 区间计算嵌套函数的结果,然后对这些结果应用 DIFFERENCE() 函数。

DIFFERENCE() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(),以及 PERCENTILE()

示例

计算最大值之间的差异

已过去时间()

返回后续字段值的时间戳之间的差值。

语法

SELECT ELAPSED( [ * | <field_key> | /<regular_expression>/ ] [ , <unit> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

InfluxDB 计算随后的时间戳之间的差值。 unit 选项是一个整数,后面跟随一个 duration,它决定了返回差值的单位。 如果查询没有指定 unit 选项,则查询返回时间戳之间的差值,以纳秒为单位。

ELAPSED(field_key)
返回与字段键相关的后续时间戳之间的差异。

ELAPSED(/regular_expression/)
返回与每个字段键相关联的后续时间戳之间的差异,这些字段键符合正则表达式

ELAPSED(*)
返回与每个字段键关联的随时间戳之间的差异,单位为measurement

ELAPSED() 支持所有字段值 数据类型

示例

这些示例使用了以下的NOAA水样数据子样本:

SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000

计算与字段键相关联的字段值之间的经过时间

计算与字段键相关的字段值之间的经过时间,并指定单位选项

计算与测量中每个字段键相关的字段值之间的经过时间,并指定单位选项

计算与每个字段键相关联的字段值之间的经过时间,该字段键与正则表达式匹配并指定单位选项

计算与字段键关联的字段值之间的经过时间,并包含多个子句

ELAPSED() 的常见问题

ELAPSED() 和大于经过时间的单位

如果unit选项大于时间戳之间的差值,InfluxDB将返回0

示例

h2o_feet测量中的时间戳以六分钟为间隔发生。如果查询将unit选项设置为一个小时,InfluxDB返回0

SELECT ELAPSED("water_level",1h) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z'

名称: h2o_feet

时间耗时
2019-08-18T00:06:00Z0.0000000000
2019-08-18T00:12:00Z0.0000000000

带有 GROUP BY time() 子句的 ELAPSED()

ELAPSED() 函数支持 GROUP BY time() 子句,但查询结果并不是特别有用。 目前,带有嵌套函数和 GROUP BY time() 子句的 ELAPSED() 查询只是返回 GROUP BY time() 子句中指定的时间间隔。

GROUP BY time() 子句决定结果中的时间戳;每个时间戳标记时间间隔的开始。这个行为同样适用于嵌套选择器函数(比如 FIRST()MAX()),在其他情况下会返回原始数据中的特定时间戳。因为 GROUP BY time() 子句覆盖了原始时间戳,所以 ELAPSED() 计算始终返回与 GROUP BY time() 间隔相同的值。

示例

在下面的代码块中,第一个查询尝试使用 ELAPSED() 函数与 GROUP BY time() 子句来查找最小 water_level之间的时间间隔(以分钟为单位)。对于两个时间间隔返回12分钟。

为了获得这些结果,InfluxDB 首先计算每 12 分钟间隔的最小 water_level。 代码块中的第二个查询显示了该步骤的结果。 该步骤与使用 MIN() 函数和 GROUP BY time() 子句,但不使用 ELAPSED() 函数相同。 注意,第二个查询返回的时间戳相隔 12 分钟。 在原始数据中,第一个结果 (2.0930000000) 出现在 2019-08-18T00:42:00Z,但 GROUP BY time() 子句覆盖了该原始时间戳。 因为时间戳是由 GROUP BY time() 间隔决定的,而不是原始数据,所以 ELAPSED() 计算总是返回与 GROUP BY time() 间隔相同的值。

SELECT ELAPSED(MIN("water_level"),1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:36:00Z' AND time <= '2019-08-18T00:54:00Z' GROUP BY time(12m)

名称: h2o_feet

时间耗时
2019-08-18T00:36:00Z12.0000000000
2019-08-18T00:48:00Z12.0000000000
SELECT MIN("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:36:00Z' AND time <= '2019-08-18T00:54:00Z' GROUP BY time(12m)

名称: h2o_feet

时间分钟
2019-08-18T00:36:00Z2.0930000000
2019-08-18T00:48:00Z2.0870000000

第一个点实际上发生在2019-08-18T00:42:00Z,而不是2019-08-18T00:36:00Z。

EXP()

返回字段值的指数。

语法

SELECT EXP( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

EXP(field_key)
返回与字段键相关的字段值的指数。

EXP(*)
返回与measurement中每个字段键关联的字段值的指数。

EXP() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,该子句 按标签分组 但不支持 GROUP BY 子句,该子句 按时间分组。要在 GROUP BY time() 子句中使用 EXP(),请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的指数

计算与测量中每个字段键相关的字段值的指数

计算与字段键相关的字段值的指数并包含多个子句

高级语法

SELECT EXP(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句和一个嵌套的InfluxQL函数。 查询首先在指定的GROUP BY time()区间内计算嵌套函数的结果,然后对这些结果应用EXP()函数。

EXP() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(),以及 PERCENTILE()

示例

计算均值的指数

向下取整()

返回向下舍入到最接近的整数的后续值。

语法

SELECT FLOOR( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

FLOOR(field_key)
返回与字段键关联的字段值,并向下舍入到最接近的整数。

FLOOR(*)
返回与每个字段键相关联的字段值,在measurement中向下舍入到最接近的整数。

FLOOR() 支持 int64 和 float64 字段值 数据类型

支持按标签分组GROUP BY子句,但不支持按时间分组GROUP BY子句。要在GROUP BY time()子句中使用FLOOR(),请参见高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的下限

计算与测量中每个字段键关联的字段值的取整

计算与字段键关联的字段值的下限,并包含若干条款

高级语法

SELECT FLOOR(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 时间间隔内计算嵌套函数的结果,然后将 FLOOR() 函数应用于这些结果。

FLOOR() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(),以及 PERCENTILE()

示例

计算向下舍入到最接近整数的均值

直方图()

InfluxQL当前不支持生成直方图。 有关使用存储在InfluxDB中的数据创建直方图的信息,请参见 Flux的 histogram() 函数.

自然对数函数 (LN)

返回字段值的自然对数。

语法

SELECT LN( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

LN(field_key)
返回与 field key 相关联的字段值的自然对数。

LN(*)
返回与测量中每个字段键关联的字段值的自然对数。

LN() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句来 按标签分组,但不支持 GROUP BY 子句来 按时间分组。要使用 LN()GROUP BY time() 子句,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键关联的字段值的自然对数

计算与测量中每个字段键相关联的字段值的自然对数

计算与字段键相关的字段值的自然对数并包括多个子句

高级语法

SELECT LN(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 时间间隔内计算嵌套函数的结果,然后对这些结果应用 LN() 函数。

LN() 支持以下嵌套函数: COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),和 PERCENTILE()

示例

计算均值的自然对数

日志()

返回以b为底的字段值的对数。

基本语法

SELECT LOG( [ * | <field_key> ], <b> ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

LOG(field_key, b)
返回与字段键相关联的字段值的对数,底数为b

LOG(*, b)
返回与measurement中每个字段键相关联的字段值的以b为底的对数。

LOG() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句来 按标签分组,但不支持 GROUP BY 子句来 按时间分组。要使用 LOG()GROUP BY time() 子句,参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关联的字段值的以4为底的对数

计算与测量中每个字段键关联的字段值的以4为底的对数

计算与字段键相关的字段值的以4为底的对数,并包含多个子句

高级语法

SELECT LOG(<function>( [ * | <field_key> ] ), <b>) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 区间计算嵌套函数的结果,然后将 LOG() 函数应用于这些结果。

LOG() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()

示例

计算平均值的以4为底的对数

对数2()

返回字段值以2为底的对数。

基本语法

SELECT LOG2( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

LOG2(field_key)
返回与字段键相关的字段值的以2为底的对数。

LOG2(*)
返回与每个字段键相关联的字段值的以2为底的对数,位于measurement中。

LOG2() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,该子句 按标签分组,但不支持 GROUP BY 子句,该子句 按时间分组。要在 GROUP BY time() 子句中使用 LOG2(),请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关联的字段值的以2为底的对数

计算与测量中每个字段键相关联的字段值的以2为底的对数

计算与字段键相关的字段值的以2为底的对数并包含多个子句

高级语法

SELECT LOG2(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后将 LOG2() 函数应用于这些结果。

LOG2() 支持以下嵌套函数: COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),和 PERCENTILE()

示例

计算均值的以2为底的对数

LOG10()

返回字段值以10为底的对数。

基本语法

SELECT LOG10( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

LOG10(field_key)
返回与字段键相关的字段值的以10为底的对数。

LOG10(*)
返回与每个字段键相关联的字段值的以10为底的对数。

LOG10() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 从句,即 按标签分组,但不支持 GROUP BY 从句,即 按时间分组。要在 GROUP BY time() 从句中使用 LOG10(),请参阅 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的以10为底的对数

计算与测量中每个字段键相关的字段值的以10为底的对数

计算与字段键相关的字段值的以10为底的对数,并包含多个子句

高级语法

SELECT LOG10(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 时间间隔内计算嵌套函数的结果,然后将 LOG10() 函数应用于这些结果。

LOG10() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE().

示例

计算均值的以10为底的对数

移动平均值()

返回随后的 字段值 的滚动平均值。

基本语法

SELECT MOVING_AVERAGE( [ * | <field_key> | /<regular_expression>/ ] , <N> ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

MOVING_AVERAGE() 计算一组 N 个后续字段值的滚动平均值。 N 参数是一个整数,并且是必需的。

MOVING_AVERAGE(field_key,N)
返回与 N 字段值相关联的 字段键 的滚动平均值。

MOVING_AVERAGE(/regular_expression/,N)
返回与每个匹配正则表达式的字段键相关的N个字段值的滚动平均值。

MOVING_AVERAGE(*,N)
返回与每个字段键相关联的N个字段值的滚动平均值,来自于measurement

MOVING_AVERAGE() int64 和 float64 字段值 数据类型

支持 GROUP BY 子句进行 按标签分组,但不支持 GROUP BY 子句进行 按时间分组。要使用 MOVING_AVERAGE()GROUP BY time() 子句,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的移动平均

计算测量中与每个字段键相关联的字段值的移动平均值

计算与每个字段键相关的字段值的移动平均值,该字段键与正则表达式匹配

计算与字段键相关的字段值的移动平均值并包括多个子句

高级语法

SELECT MOVING_AVERAGE(<function> ([ * | <field_key> | /<regular_expression>/ ]) , N ) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后将 MOVING_AVERAGE() 函数应用于这些结果。

MOVING_AVERAGE() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(),以及 PERCENTILE()

示例

计算最大值的移动平均

非负导数()

返回后续 字段值 之间的非负变化率。 非负变化率包括正变化率和等于零的变化率。

基本语法

SELECT NON_NEGATIVE_DERIVATIVE( [ * | <field_key> | /<regular_expression>/ ] [ , <unit> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

InfluxDB计算后续字段值之间的差异,并将这些结果转换为每个 unit 的变化率。 unit 参数是一个整数,后面跟随一个 duration,这是可选的。如果查询未指定 unit,单位默认为一秒 (1s)。 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。

NON_NEGATIVE_DERIVATIVE(field_key)
返回与字段键相关的后续字段值之间的非负变化率。

NON_NEGATIVE_DERIVATIVE(/regular_expression/)
返回与每个匹配正则表达式的字段键相关的后续字段值之间的非负变化率。

NON_NEGATIVE_DERIVATIVE(*)
返回与每个字段键相关联的后续字段值之间的非负变化率,关联的字段在measurement中。

NON_NEGATIVE_DERIVATIVE() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,以 按标签分组,但不支持 GROUP BY 子句,以 按时间分组。要使用 NON_NEGATIVE_DERIVATIVE()GROUP BY time() 子句,请参见 高级语法

示例

请查看DERIVATIVE() 文档中的示例NON_NEGATIVE_DERIVATIVE() 的行为与 DERIVATIVE() 函数相同,但 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。

高级语法

SELECT NON_NEGATIVE_DERIVATIVE(<function> ([ * | <field_key> | /<regular_expression>/ ]) [ , <unit> ] ) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 区间计算嵌套函数的结果,然后将 NON_NEGATIVE_DERIVATIVE() 函数应用于这些结果。

参数 unit 是一个整数,后面跟着一个 duration,这是可选的。 如果查询未指定 unit,则 unit 默认使用 GROUP BY time() 的时间间隔。 请注意,此行为与 basic syntax’s 的默认行为不同。 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。

NON_NEGATIVE_DERIVATIVE() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(),以及 PERCENTILE()

示例

请查看DERIVATIVE() 文档中的示例NON_NEGATIVE_DERIVATIVE() 的行为与 DERIVATIVE() 函数相同,但 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。

非负差异()

返回后续 字段值 之间减法的非负结果。减法的非负结果包括正差和等于零的差。

基本语法

SELECT NON_NEGATIVE_DIFFERENCE( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

NON_NEGATIVE_DIFFERENCE(field_key)
返回与 字段键 相关的后续字段值之间的非负差。

NON_NEGATIVE_DIFFERENCE(/regular_expression/)
返回与匹配正则表达式的每个字段键相关联的后续字段值之间的非负差值。

NON_NEGATIVE_DIFFERENCE(*)
返回与每个字段键关联的后续字段值之间的非负差。

NON_NEGATIVE_DIFFERENCE() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,它 按标签分组,但不支持 GROUP BY 子句,它 按时间分组。要在 GROUP BY time() 子句中使用 NON_NEGATIVE_DIFFERENCE(),请参见 高级语法

示例

请查看DIFFERENCE()文档中的例子。NON_NEGATIVE_DIFFERENCE()的行为与DIFFERENCE()函数相同,但NON_NEGATIVE_DIFFERENCE()仅返回正差异或等于零的差异。

高级语法

SELECT NON_NEGATIVE_DIFFERENCE(<function>( [ * | <field_key> | /<regular_expression>/ ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 间隔计算嵌套函数的结果,然后将 NON_NEGATIVE_DIFFERENCE() 函数应用于这些结果。

NON_NEGATIVE_DIFFERENCE() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()

示例

请查看DIFFERENCE()文档中的例子。NON_NEGATIVE_DIFFERENCE()的行为与DIFFERENCE()函数相同,但NON_NEGATIVE_DIFFERENCE()仅返回正差异或等于零的差异。

POW()

返回字段值的x次方。

基本语法

SELECT POW( [ * | <field_key> ], <x> ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

POW(field_key, x)
返回与字段关键字相关联的字段值的x次方。

POW(*, x)
返回与measurement中每个字段键相关联的字段值的x次方。

POW() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句按 标签分组,但不支持 GROUP BY 子句按 时间分组。要使用 POW()GROUP BY time() 子句,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键的四次方相关的字段值

计算与测量中每个字段键相关联的字段值的四次方

计算与字段键的四次方相关的字段值,并包含多个子句

高级语法

SELECT POW(<function>( [ * | <field_key> ] ), <x>) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 时间间隔内计算嵌套函数的结果,然后将 POW() 函数应用于这些结果。

POW() 支持以下嵌套函数: COUNT()MEAN()MEDIAN()MODE()SUM()FIRST()LAST()MIN()MAX(),和 PERCENTILE()

示例

计算四次方的均值

舍入()

返回四舍五入到最接近的整数的后续值。

基本语法

SELECT ROUND( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

ROUND(field_key)
返回与字段键相关的字段值,四舍五入到最接近的整数。

ROUND(*)
返回与每个字段键相关联的字段值, 在measurement中四舍五入到最接近的整数。

ROUND() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,按 标签分组,但不支持 GROUP BY 子句 [按时间分组](/influxdb/v2/)。要使用 ROUND()GROUP BY time() 子句,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

对与字段键关联的字段值进行四舍五入

将与测量中的每个字段键相关联的字段值进行四舍五入

对与字段键相关的字段值进行四舍五入,并包含几个条件

高级语法

SELECT ROUND(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句和一个嵌套的 InfluxQL 函数。 查询首先计算指定 GROUP BY time() 时间间隔内嵌套函数的结果,然后对这些结果应用 ROUND() 函数。

ROUND() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(),和 PERCENTILE()

示例

计算四舍五入到最接近的整数的平均值

SIN()

返回字段值的正弦。

基本语法

SELECT SIN( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

SIN(field_key)
返回与字段键相关联的字段值的正弦值。

SIN(*)
返回与measurement中每个字段键相关的字段值的正弦。

SIN() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,按 标签分组,但不支持 GROUP BY 子句按 时间分组。要将 SIN()GROUP BY time() 子句一起使用,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键关联的字段值的正弦

计算与测量中每个字段键相关联的字段值的正弦

计算与字段键相关的字段值的正弦,并包含几个子句

高级语法

SELECT SIN(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句和一个嵌套的 InfluxQL 函数。查询首先在指定的 GROUP BY time() 区间计算嵌套函数的结果,然后对这些结果应用 SIN() 函数。

SIN() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()

示例

计算平均值的正弦

SQRT()

返回字段值的平方根。

基本语法

SELECT SQRT( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

SQRT(field_key)
返回与字段键相关联的字段值的平方根。

SQRT(*)
返回与measurement中每个字段键相关联的平方根字段值。

SQRT() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句对 按标签分组,但不支持 GROUP BY 子句对 按时间分组。要使用 SQRT()GROUP BY time() 子句,请参见 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的平方根

计算与测量中每个字段键相关的字段值的平方根

计算与字段键相关的字段值的平方根,并包含多个子句

高级语法

SELECT SQRT(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 间隔内计算嵌套函数的结果,然后将 SQRT() 函数应用于这些结果。

SQRT() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(),以及 PERCENTILE()

示例

计算均值的平方根

TAN()

返回字段值的正切。

基本语法

SELECT TAN( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

TAN(field_key)
返回与字段键相关联的字段值的正切。

TAN(*)
返回与measurement中每个字段键相关联的字段值的切线。

TAN() 支持 int64 和 float64 字段值 数据类型

支持 GROUP BY 子句,按标签分组,但不支持 GROUP BY 子句,按时间分组。要使用 TAN()GROUP BY time() 子句,请参阅 高级语法

示例

下面的示例使用了NOAA水样数据的以下子样本:

SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'

名称: h2o_feet

时间水位
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

计算与字段键相关的字段值的正切

计算与测量中每个字段键相关联的字段值的正切

计算与字段键相关的字段值的切线并包括多个子句

高级语法

SELECT TAN(<function>( [ * | <field_key> ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。 查询首先在指定的 GROUP BY time() 区间内计算嵌套函数的结果,然后对这些结果应用 TAN() 函数。

TAN() 支持以下嵌套函数: COUNT(), MEAN(), MEDIAN(), MODE(), SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()

示例

计算均值的正切



Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: