文档文档

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(*)
返回与 指标 中每个字段键关联的字段值的绝对值。

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(*)
返回与 指标 中每个字段键关联的字段值的反余弦值。

ACOS() 支持 int64 和 float64 字段值 数据类型,值介于 -1 和 1 之间。

示例

以下示例使用来自 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)
返回与 字段键 关联的字段值的反正弦值。

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

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

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

示例

以下示例使用来自 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 子句。要将 ATAN()GROUP BY time() 子句一起使用,请参阅 高级语法

基本语法

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)内的字段值。

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

计算与 measurement 中每个字段键关联的字段值的反正切值

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

高级语法

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)
返回 measurement 中与每个字段键关联的字段值,除以与 field_key_x 关联的字段值。

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

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

示例

以下示例使用 sample_test.txt

计算 field_key_b 除以 field_key_a 的反正切值

计算 measurement 中与每个字段键关联的值除以 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()

示例

计算平均值的反正切值

CEIL()

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

基本语法

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'

name: h2o_feet

时间water_level
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

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

计算与 measurement 中每个字段键关联的字段值的上限值

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

高级语法

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'

name: h2o_feet

时间water_level
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

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

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

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

高级语法

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()

示例

计算平均值的余弦值

CUMULATIVE_SUM()

返回后续 字段值 的运行总计。

基本语法

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(*)
返回 measurement 中与每个字段键关联的后续字段值的运行总计。

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'

name: h2o_feet

时间water_level
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

计算与字段键关联的字段值的累积和

计算与 measurement 中每个字段键关联的字段值的累积和

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

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

高级语法

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()

示例

计算平均值的累积和

DERIVATIVE()

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

基本语法

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'

name: h2o_feet

时间water_level
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

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

计算与字段键关联的字段值之间的导数,并指定 unit 选项

计算与 measurement 中每个字段键关联的字段值之间的导数,并指定 unit 选项

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

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

高级语法

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() 间隔。请注意,此行为与 基本语法 的默认行为不同。

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

示例

计算平均值的导数

计算平均值的导数,并指定 unit 选项

DIFFERENCE()

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

语法

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'

name: h2o_feet

时间water_level
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

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

计算与 measurement 中每个字段键关联的字段值之间的差值

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

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

高级语法

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()

示例

计算最大值之间的差异

ELAPSED()

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

语法

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 选项是一个整数,后跟一个 持续时间,它确定返回差异的单位。如果查询未指定 unit 选项,则查询返回纳秒为单位的时间戳之间的差异。

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

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

ELAPSED(*)
返回 指标 中每个字段键关联的后续时间戳之间的差异。

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'

name: h2o_feet

时间water_level
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'

name: h2o_feet

时间elapsed
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)

name: h2o_feet

时间elapsed
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)

name: h2o_feet

时间min
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(*)
返回 指标 中每个字段键关联的字段值的指数。

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

支持 按标签分组GROUP BY 子句,但不 按时间间隔分组GROUP BY 子句。要将 EXP()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'

name: h2o_feet

时间water_level
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()

示例

计算均值的指数

FLOOR()

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

语法

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(*)
返回 指标 中,与每个字段键关联的字段值,向下舍入到最接近的整数。

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

支持 按标签分组GROUP BY 子句,但不 按时间间隔分组GROUP BY 子句。要将 FLOOR()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'

name: h2o_feet

时间water_level
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()

示例

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

HISTOGRAM()

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)
返回与 字段键 关联的字段值的自然对数。

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'

name: h2o_feet

时间water_level
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()

示例

计算均值的自然对数

LOG()

返回以 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)
返回以 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'

name: h2o_feet

时间water_level
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 为底的均值的对数

LOG2()

返回以 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 为底的,指标 中每个字段键关联的字段值的对数。

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

支持 按标签分组GROUP BY 子句,但不 按时间间隔分组GROUP BY 子句。要将 LOG2()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'

name: h2o_feet

时间water_level
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 子句。要将 LOG10()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'

name: h2o_feet

时间water_level
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 为底的均值的对数

MOVING_AVERAGE()

返回后续 字段值 窗口上的滚动平均值。

基本语法

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 个字段值的滚动平均值。

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'

name: h2o_feet

时间water_level
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()

示例

计算最大值的移动平均值

NON_NEGATIVE_DERIVATIVE()

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

基本语法

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 参数是一个整数,后跟一个 持续时间,它是可选的。如果查询未指定 unit,则单位默认为一秒 (1s)。NON_NEGATIVE_DERIVATIVE() 仅返回正变化率或等于零的变化率。

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

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

NON_NEGATIVE_DERIVATIVE(*)
返回 指标 中每个字段键关联的后续字段值之间非负的变化率。

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 参数是一个整数,后跟一个 持续时间,它是可选的。如果查询未指定 unit,则 unit 默认为 GROUP BY time() 间隔。请注意,此行为与 基本语法 的默认行为不同。NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。

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

示例

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

NON_NEGATIVE_DIFFERENCE()

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

基本语法

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 子句。要将 NON_NEGATIVE_DIFFERENCE()GROUP BY time() 子句一起使用,请参阅 高级语法

示例

请参阅 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)
返回 测量 中每个字段键关联的字段值的 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'

name: h2o_feet

时间water_level
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 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()

示例

计算平均值的 4 次幂

ROUND()

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

基本语法

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(*)
返回 测量 中每个字段键关联的字段值,四舍五入到最接近的整数。

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

支持 按标签分组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'

name: h2o_feet

时间water_level
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(*)
返回 测量 中每个字段键关联的字段值的正弦值。

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'

name: h2o_feet

时间water_level
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(*)
返回 测量 中每个字段键关联的字段值的平方根。

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'

name: h2o_feet

时间water_level
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(*)
返回 测量 中每个字段键关联的字段值的正切值。

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'

name: h2o_feet

时间water_level
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 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看