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 字段值 数据类型。
示例
计算与字段键关联的字段值的绝对值
返回 h2o_feet
指标中 water_level
字段键的字段值的绝对值。
SELECT ABS("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:15:00Z'
时间 | abs |
---|
2019-08-18T00:00:00Z | 8.5040000000 |
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 8.4190000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 8.3200000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
计算与指标中每个字段键关联的字段值的绝对值
返回 data
指标中存储数值的每个字段键的字段值的绝对值。h2o_feet
指标有一个数值字段 water_level
。
SELECT ABS(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:15:00Z'
时间 | abs_water_level |
---|
2019-08-18T00:00:00Z | 8.5040000000 |
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 8.4190000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 8.3200000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
计算与字段键关联的字段值的绝对值,并包含多个子句
返回 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 water_level
字段键的字段值的绝对值,结果按 时间戳降序排列。查询还 限制 返回的点数为四个,并按两个点 偏移 结果。
SELECT ABS("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | abs |
---|
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:24:00Z | 8.1300000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:18:00Z | 8.2250000000 |
高级语法
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()
。
示例
计算平均值的绝对值
返回以 12 分钟间隔计算的 平均 water_level
值的绝对值。
SELECT ABS(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m)
时间 | abs |
---|
2019-08-18T00:00:00Z | 5.4135000000 |
2019-08-18T00:12:00Z | 5.3042500000 |
2019-08-18T00:24:00Z | 5.1682500000 |
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:00Z | 0.416579917279588 |
2018-06-24T12:10:00Z | 0.328968116955350 |
2018-06-24T12:11:00Z | 0.263585064411983 |
计算与字段键关联的字段值的反余弦值
返回 data
指标中 a
字段键的字段值的反余弦值。
SELECT ACOS("a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | acos |
---|
2018-06-24T12:00:00Z | |
2018-06-24T12:01:00Z | 2.4574862443 |
2018-06-24T12:02:00Z | 2.7415314737 |
2018-06-24T12:03:00Z | |
2018-06-24T12:04:00Z | 2.7044854503 |
2018-06-24T12:05:00Z | 2.6707024029 |
2018-06-24T12:06:00Z | |
2018-06-24T12:07:00Z | |
2018-06-24T12:08:00Z | |
2018-06-24T12:09:00Z | 1.1411163210 |
2018-06-24T12:10:00Z | 1.2355856616 |
2018-06-24T12:11:00Z | 1.3040595066 |
计算与指标中每个字段键关联的字段值的反余弦值
返回 data
指标中存储数值的每个字段键(字段 a
和 b
)的字段值的反余弦值。
SELECT ACOS(*) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | acos_a | acos_b |
---|
2018-06-24T12:00:00Z | | 1.7351786976 |
2018-06-24T12:01:00Z | 2.4574862443 | 1.4333294161 |
2018-06-24T12:02:00Z | 2.7415314737 | 2.0748091141 |
2018-06-24T12:03:00Z | | 1.6438345404 |
2018-06-24T12:04:00Z | 2.7044854503 | |
2018-06-24T12:05:00Z | 2.6707024029 | 0.7360183965 |
2018-06-24T12:06:00Z | | 1.2789990384 |
2018-06-24T12:07:00Z | | 2.1522589654 |
2018-06-24T12:08:00Z | | 0.6128438977 |
2018-06-24T12:09:00Z | 1.1411163210 | |
2018-06-24T12:10:00Z | 1.2355856616 | |
2018-06-24T12:11:00Z | 1.3040595066 | 1.7595349692 |
2018-06-24T12:12:00Z | 1.8681669412 | 2.5213034266 |
计算与字段键关联的字段值的反余弦值,并包含多个子句
返回 时间范围 在 2018-06-24T00:00:00Z
和 2018-06-25T00:00:00Z
之间的 a
字段键的字段值的反余弦值,结果按 时间戳降序排列。查询还 限制 返回的点数为四个,并按两个点 偏移 结果。
SELECT ACOS("a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | acos |
---|
2018-06-24T23:58:00Z | 1.5361053361 |
2018-06-24T23:57:00Z | |
2018-06-24T23:56:00Z | 0.5211076815 |
2018-06-24T23:55:00Z | 1.647695085 |
高级语法
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()
。
示例
计算平均值的反余弦值
返回以 3 小时间隔计算的 平均 a
值的反余弦值。
SELECT ACOS(MEAN("a")) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' GROUP BY time(3h)
时间 | acos |
---|
2018-06-24T00:00:00Z | |
2018-06-24T03:00:00Z | |
2018-06-24T06:00:00Z | |
2018-06-24T09:00:00Z | |
2018-06-24T12:00:00Z | 1.5651603194 |
2018-06-24T15:00:00Z | 1.6489104619 |
2018-06-24T18:00:00Z | 1.4851295699 |
2018-06-24T21:00:00Z | 1.6209901549 |
2018-06-25T00:00:00Z | 1.7149309371 |
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:00Z | 0.416579917279588 |
2018-06-24T12:10:00Z | 0.328968116955350 |
2018-06-24T12:11:00Z | 0.263585064411983 |
计算与字段键关联的字段值的反正弦值
返回 data
指标中 a
字段键的字段值的反正弦值。
SELECT ASIN("a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | asin |
---|
2018-06-24T12:00:00Z | |
2018-06-24T12:01:00Z | -0.8866899175 |
2018-06-24T12:02:00Z | -1.1707351469 |
2018-06-24T12:03:00Z | |
2018-06-24T12:04:00Z | -1.1336891235 |
2018-06-24T12:05:00Z | -1.0999060761 |
2018-06-24T12:06:00Z | |
2018-06-24T12:07:00Z | |
2018-06-24T12:08:00Z | |
2018-06-24T12:09:00Z | 0.4296800058 |
2018-06-24T12:10:00Z | 0.3352106652 |
2018-06-24T12:11:00Z | 0.2667368202 |
2018-06-24T12:12:00Z | -0.2973706144 |
计算与指标中每个字段键关联的字段值的反正弦值
返回 data
指标中存储数值的每个字段键的字段值的反正弦值。data
指标有一个数值字段:a
。
SELECT ASIN(*) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | asin_a | asin_b |
---|
2018-06-24T12:00:00Z | | -0.1643823708 |
2018-06-24T12:01:00Z | -0.8866899175 | 0.1374669107 |
2018-06-24T12:02:00Z | -1.1707351469 | -0.5040127873 |
2018-06-24T12:03:00Z | | -0.0730382136 |
2018-06-24T12:04:00Z | -1.1336891235 | |
2018-06-24T12:05:00Z | -1.0999060761 | 0.8347779303 |
2018-06-24T12:06:00Z | | 0.2917972884 |
2018-06-24T12:07:00Z | | -0.5814626386 |
2018-06-24T12:08:00Z | | 0.9579524291 |
2018-06-24T12:09:00Z | 0.4296800058 | |
2018-06-24T12:10:00Z | 0.3352106652 | |
2018-06-24T12:11:00Z | 0.2667368202 | -0.1887386424 |
2018-06-24T12:12:00Z | -0.2973706144 | -0.9505070998 |
计算与字段键关联的字段值的反正弦值,并包含多个子句
返回 时间范围 在 2018-06-24T00:00:00Z
和 2018-06-25T00:00:00Z
之间的 a
字段键的字段值的反正弦值,结果按 时间戳降序排列。查询还 限制 返回的点数为四个,并按两个点 偏移 结果。
SELECT ASIN("a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | asin |
---|
2018-06-24T23:58:00Z | 0.0346909907 |
2018-06-24T23:57:00Z | |
2018-06-24T23:56:00Z | 1.0496886453 |
2018-06-24T23:55:00Z | 0.0768987583 |
高级语法
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()
。
示例
计算平均值的反正弦值
返回在 3 小时间隔内计算的 平均值 a
的反正弦值。
SELECT ASIN(MEAN("a")) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' GROUP BY time(3h)
时间 | asin |
---|
2018-06-24T00:00:00Z | |
2018-06-24T03:00:00Z | |
2018-06-24T06:00:00Z | |
2018-06-24T09:00:00Z | |
2018-06-24T12:00:00Z | 0.0056360073 |
2018-06-24T15:00:00Z | -0.0781141351 |
2018-06-24T18:00:00Z | 0.0856667569 |
2018-06-24T21:00:00Z | -0.0501938281 |
2018-06-25T00:00:00Z | -0.1441346103 |
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)内的字段值。
计算与字段键关联的字段值的反正切值
返回 data
measurement 中 a
字段键的字段值的反正切值。
SELECT ATAN("a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | atan |
---|
2018-06-24T12:00:00Z | 0.9293622934 |
2018-06-24T12:01:00Z | -0.6593001275 |
2018-06-24T12:02:00Z | -0.7443170184 |
2018-06-24T12:03:00Z | -1.0488818071 |
2018-06-24T12:04:00Z | -0.7361091801 |
2018-06-24T12:05:00Z | -0.7279122495 |
2018-06-24T12:06:00Z | 0.8379907133 |
2018-06-24T12:07:00Z | -0.9117032768 |
2018-06-24T12:08:00Z | -1.0364006848 |
2018-06-24T12:09:00Z | 0.3947172008 |
2018-06-24T12:10:00Z | 0.3178167283 |
2018-06-24T12:11:00Z | 0.2577231762 |
2018-06-24T12:12:00Z | -0.2850291359 |
计算与 measurement 中每个字段键关联的字段值的反正切值
返回 data
measurement 中存储数值的每个字段键(字段 a
和 b
)的字段值的反正切值。
SELECT ATAN(*) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | atan_a | atan_b |
---|
2018-06-24T12:00:00Z | 0.9293622934 | -0.1622053541 |
2018-06-24T12:01:00Z | -0.6593001275 | 0.1361861379 |
2018-06-24T12:02:00Z | -0.7443170184 | -0.4499093122 |
2018-06-24T12:03:00Z | -1.0488818071 | -0.0728441751 |
2018-06-24T12:04:00Z | -0.7361091801 | 1.0585985451 |
2018-06-24T12:05:00Z | -0.7279122495 | 0.6378113578 |
2018-06-24T12:06:00Z | 0.8379907133 | 0.2801105336 |
2018-06-24T12:07:00Z | -0.9117032768 | -0.5022647489 |
2018-06-24T12:08:00Z | -1.0364006848 | 0.6856298940 |
2018-06-24T12:09:00Z | 0.3947172008 | -0.8711781065 |
2018-06-24T12:10:00Z | 0.3178167283 | -0.8273348593 |
2018-06-24T12:11:00Z | 0.2577231762 | -0.1854639556 |
2018-06-24T12:12:00Z | -0.2850291359 | -0.6830451940 |
计算与字段键关联的字段值的反正切值,并包含多个子句
返回与 时间范围 在 2017-05-01T00:00:00Z
和 2017-05-09T00:00:00Z
之间的 a
字段键关联的字段值的反正切值,并以 时间戳降序 返回结果。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT ATAN("a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | atan |
---|
2018-06-24T23:58:00Z | 0.0346701348 |
2018-06-24T23:57:00Z | -0.8582372146 |
2018-06-24T23:56:00Z | 0.7144341473 |
2018-06-24T23:55:00Z | -0.0766723939 |
高级语法
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()
。
高级语法示例
计算平均值的反正切值
返回在 3 小时间隔内计算的 平均值 a
的反正切值。
SELECT ATAN(MEAN("a")) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' GROUP BY time(3h)
时间 | atan |
---|
2018-06-24T00:00:00Z | |
2018-06-24T03:00:00Z | |
2018-06-24T06:00:00Z | |
2018-06-24T09:00:00Z | |
2018-06-24T12:00:00Z | 0.0056359178 |
2018-06-24T15:00:00Z | -0.0778769005 |
2018-06-24T18:00:00Z | 0.0853541301 |
2018-06-24T21:00:00Z | -0.0501307176 |
2018-06-25T00:00:00Z | -0.1426603174 |
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 的反正切值
返回 a
字段键中的字段值除以 b
字段键中的值的反正切值。两者都是 data
measurement 的一部分。
SELECT ATAN2("a", "b") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | atan2 |
---|
2018-06-24T12:00:00Z | 1.6923979639 |
2018-06-24T12:01:00Z | -1.3957831900 |
2018-06-24T12:02:00Z | -2.0537314089 |
2018-06-24T12:03:00Z | -1.6127391493 |
2018-06-24T12:04:00Z | -0.4711275404 |
2018-06-24T12:05:00Z | -0.8770454978 |
2018-06-24T12:06:00Z | 1.3174573347 |
2018-06-24T12:07:00Z | -1.9730696643 |
2018-06-24T12:08:00Z | -1.1199236554 |
2018-06-24T12:09:00Z | 2.8043757212 |
2018-06-24T12:10:00Z | 2.8478694533 |
2018-06-24T12:11:00Z | 2.1893985296 |
2018-06-24T12:12:00Z | -2.7959592806 |
计算 measurement 中与每个字段键关联的值除以 field_key_a 的反正切值
返回 data
measurement 中所有数值字段值除以 a
字段键中的值的反正切值。data
measurement 有两个数值字段:a
和 b
。
SELECT ATAN2(*, "a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
时间 | atan2_a | atan2_b |
---|
2018-06-24T12:00:00Z | 0.7853981634 | -0.1216016371 |
2018-06-24T12:01:00Z | -2.3561944902 | 2.9665795168 |
2018-06-24T12:02:00Z | -2.3561944902 | -2.6586575715 |
2018-06-24T12:03:00Z | -2.3561944902 | -3.0996498311 |
2018-06-24T12:04:00Z | -2.3561944902 | 2.0419238672 |
2018-06-24T12:05:00Z | -2.3561944902 | 2.4478418246 |
2018-06-24T12:06:00Z | 0.7853981634 | 0.2533389921 |
2018-06-24T12:07:00Z | -2.3561944902 | -2.7393193161 |
2018-06-24T12:08:00Z | -2.3561944902 | 2.6907199822 |
2018-06-24T12:09:00Z | 0.7853981634 | -1.2335793944 |
2018-06-24T12:10:00Z | 0.7853981634 | -1.2770731265 |
2018-06-24T12:11:00Z | 0.7853981634 | -0.6186022028 |
2018-06-24T12:12:00Z | -2.3561944902 | -1.9164296997 |
计算字段值的反正切值并包含多个子句
返回与 时间范围 在 2018-05-16T12:10:00Z
和 2018-05-16T12:10:00Z
之间的 a
字段键关联的字段值除以 b
字段键的反正切值,并以 时间戳降序 返回结果。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT ATAN2("a", "b") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | atan2 |
---|
2018-06-24T23:58:00Z | 0.0166179004 |
2018-06-24T23:57:00Z | -2.3211306482 |
2018-06-24T23:56:00Z | 1.8506549463 |
2018-06-24T23:55:00Z | -0.0768444917 |
高级语法
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()
。
示例
计算平均值的反正切值
返回 平均值 a
除以平均值 b
的反正切值。平均值以 2 小时为间隔计算。
SELECT ATAN2(MEAN("b"), MEAN("a")) FROM "data" WHERE time >= '2018-06-24T12:00:00Z' AND time <= '2018-06-25T00:00:00Z' GROUP BY time(2h)
时间 | atan2 |
---|
2018-06-24T12:00:00Z | -0.8233039154 |
2018-06-24T14:00:00Z | 1.6676707651 |
2018-06-24T16:00:00Z | 2.3853882606 |
2018-06-24T18:00:00Z | -1.0180694195 |
2018-06-24T20:00:00Z | -0.2601965301 |
2018-06-24T22:00:00Z | 2.1893237434 |
2018-06-25T00:00:00Z | -2.5572285037 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的上限值
返回 h2o_feet
measurement 中 water_level
字段键的字段值,向上舍入到最接近的整数。
SELECT CEIL("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | ceil |
---|
2019-08-17T00:00:00Z | 3.0000000000 |
2019-08-17T00:06:00Z | 3.0000000000 |
2019-08-17T00:12:00Z | 3.0000000000 |
2019-08-17T00:18:00Z | 3.0000000000 |
2019-08-17T00:24:00Z | 3.0000000000 |
2019-08-17T00:30:00Z | 3.0000000000 |
计算与 measurement 中每个字段键关联的字段值的上限值
返回 h2o_feet
measurement 中存储数值的每个字段键的字段值,向上舍入到最接近的整数。h2o_feet
measurement 有一个数值字段:water_level
。
SELECT CEIL(*) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | ceil_water_level |
---|
2019-08-17T00:00:00Z | 3.0000000000 |
2019-08-17T00:06:00Z | 3.0000000000 |
2019-08-17T00:12:00Z | 3.0000000000 |
2019-08-17T00:18:00Z | 3.0000000000 |
2019-08-17T00:24:00Z | 3.0000000000 |
2019-08-17T00:30:00Z | 3.0000000000 |
计算与字段键关联的字段值的上限值,并包含多个子句
返回与 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 water_level
字段键关联的字段值,向上舍入到最接近的整数,并以 时间戳降序 返回结果。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT CEIL("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | ceil |
---|
2019-08-17T00:18:00Z | 3.0000000000 |
2019-08-17T00:12:00Z | 3.0000000000 |
2019-08-17T00:06:00Z | 3.0000000000 |
2019-08-17T00:00:00Z | 3.0000000000 |
高级语法
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()
。
示例
计算向上舍入到最接近整数的平均值
返回以 12 分钟为间隔计算并向上舍入到最接近整数的 平均值 water_level
。
SELECT CEIL(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | ceil |
---|
2019-08-17T00:00:00Z | 3.0000000000 |
2019-08-17T00:12:00Z | 3.0000000000 |
2019-08-17T00:24:00Z | 3.0000000000 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的余弦值
返回 h2o_feet
measurement 中 water_level
字段键的字段值的余弦值。
SELECT COS("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | cos |
---|
2019-08-18T00:00:00Z | -0.7041346171 |
2019-08-18T00:06:00Z | -0.7230474420 |
2019-08-18T00:12:00Z | -0.6977155876 |
2019-08-18T00:18:00Z | -0.6876182920 |
2019-08-18T00:24:00Z | -0.6390047316 |
2019-08-18T00:30:00Z | -0.6413094611 |
计算与 measurement 中每个字段键关联的字段值的余弦值
返回 h2o_feet
measurement 中每个数值字段的字段值的余弦值。h2o_feet
measurement 有一个数值字段:water_level
。
SELECT COS(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | cos_water_level |
---|
2019-08-18T00:00:00Z | -0.7041346171 |
2019-08-18T00:06:00Z | -0.7230474420 |
2019-08-18T00:12:00Z | -0.6977155876 |
2019-08-18T00:18:00Z | -0.6876182920 |
2019-08-18T00:24:00Z | -0.6390047316 |
2019-08-18T00:30:00Z | -0.6413094611 |
计算与字段键关联的字段值的余弦值,并包含多个子句
返回与 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 water_level
字段键关联的字段值的余弦值,并以 时间戳降序 返回结果。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT COS("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | cos |
---|
2019-08-18T00:18:00Z | -0.6876182920 |
2019-08-18T00:12:00Z | -0.6977155876 |
2019-08-18T00:06:00Z | -0.7230474420 |
2019-08-18T00:00:00Z | -0.7041346171 |
高级语法
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()
。
示例
计算平均值的余弦值
返回以 12 分钟为间隔计算的 平均值 water_level
的余弦值。
SELECT COS(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | cos |
---|
2019-08-18T00:00:00Z | -0.7136560605 |
2019-08-18T00:12:00Z | -0.6926839105 |
2019-08-18T00:24:00Z | -0.6401578165 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的累积和
返回 h2o_feet
measurement 中 water_level
字段键中的字段值的运行总计。
SELECT CUMULATIVE_SUM("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | cumulative_sum |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 4.7310000000 |
2019-08-18T00:12:00Z | 7.0740000000 |
2019-08-18T00:18:00Z | 9.4030000000 |
2019-08-18T00:24:00Z | 11.6670000000 |
2019-08-18T00:30:00Z | 13.9340000000 |
计算与 measurement 中每个字段键关联的字段值的累积和
返回 h2o_feet
measurement 中每个数值字段的字段值的运行总计。h2o_feet
measurement 有一个数值字段:water_level
。
SELECT CUMULATIVE_SUM(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | cumulative_sum_water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 4.7310000000 |
2019-08-18T00:12:00Z | 7.0740000000 |
2019-08-18T00:18:00Z | 9.4030000000 |
2019-08-18T00:24:00Z | 11.6670000000 |
2019-08-18T00:30:00Z | 13.9340000000 |
计算与每个与正则表达式匹配的字段键关联的字段值的累积和
返回 h2o_feet
measurement 中每个存储数值并包含单词 water
的字段键的字段值的运行总计。
SELECT CUMULATIVE_SUM(/water/) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | cumulative_sum_water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 4.7310000000 |
2019-08-18T00:12:00Z | 7.0740000000 |
2019-08-18T00:18:00Z | 9.4030000000 |
2019-08-18T00:24:00Z | 11.6670000000 |
2019-08-18T00:30:00Z | 13.9340000000 |
计算与字段键关联的字段值的累积和,并包含多个子句
返回与 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 water_level
字段键关联的字段值的运行总计,并以 时间戳降序 返回结果。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT CUMULATIVE_SUM("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | cumulative_sum |
---|
2019-08-18T00:18:00Z | 6.8600000000 |
2019-08-18T00:12:00Z | 9.2030000000 |
2019-08-18T00:06:00Z | 11.5820000000 |
2019-08-18T00:00:00Z | 13.9340000000 |
高级语法
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()
。
示例
计算平均值的累积和
返回以 12 分钟为间隔计算的 平均值 water_level
的运行总计。
SELECT CUMULATIVE_SUM(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | cumulative_sum |
---|
2019-08-18T00:00:00Z | 2.3655000000 |
2019-08-18T00:12:00Z | 4.7015000000 |
2019-08-18T00:24:00Z | 6.9670000000 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值之间的导数
返回 h2o_feet
measurement 中 water_level
字段值之间的一秒变化率。
SELECT DERIVATIVE("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | derivative |
---|
2019-08-18T00:06:00Z | 0.0000750000 |
2019-08-18T00:12:00Z | -0.0001000000 |
2019-08-18T00:18:00Z | -0.0000388889 |
2019-08-18T00:24:00Z | -0.0001805556 |
2019-08-18T00:30:00Z | 0.0000083333 |
第一个结果 (0.0000750000
) 是原始数据中前两个后续字段值之间的一秒变化率。 InfluxDB 计算字段值之间的差值(从第二个字段值中减去第一个字段值),然后将该值归一化为一秒变化率(将字段值的时间戳之间的差值(秒为单位)(360s
)除以默认单位(1s
))
(2.379 - 2.352) / (360s / 1s)
计算与字段键关联的字段值之间的导数,并指定 unit 选项
返回 h2o_feet
measurement 中 water_level
字段中字段值之间的六分钟变化率。
SELECT DERIVATIVE("water_level",6m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | derivative |
---|
2019-08-18T00:06:00Z | 0.0270000000 |
2019-08-18T00:12:00Z | -0.0360000000 |
2019-08-18T00:18:00Z | -0.0140000000 |
2019-08-18T00:24:00Z | -0.0650000000 |
2019-08-18T00:30:00Z | 0.0030000000 |
第一个结果 (0.0270000000
) 是原始数据中前两个后续字段值之间的六分钟变化率。 InfluxDB 计算字段值之间的差值(从第二个字段值中减去第一个字段值),然后将该值归一化为六分钟变化率(将字段值的时间戳之间的差值(分钟为单位)(6m
)除以指定的间隔(6m
))
(2.379 - 2.352) / (6m / 6m)
计算与 measurement 中每个字段键关联的字段值之间的导数,并指定 unit 选项
返回 h2o_feet
measurement 中与每个存储数值的字段键关联的字段值之间的三分钟变化率。h2o_feet
measurement 有一个数值字段:water_level
。
SELECT DERIVATIVE(*,3m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | derivative_water_level |
---|
2019-08-18T00:06:00Z | 0.0135000000 |
2019-08-18T00:12:00Z | -0.0180000000 |
2019-08-18T00:18:00Z | -0.0070000000 |
2019-08-18T00:24:00Z | -0.0325000000 |
2019-08-18T00:30:00Z | 0.0015000000 |
第一个结果 (0.0135000000
) 是原始数据中前两个后续字段值之间的三分钟变化率。
InfluxDB 计算字段值之间的差值(从第二个字段值中减去第一个字段值),然后将该值归一化为三分钟变化率(将字段值的时间戳之间的差值(分钟为单位)(6m
)除以指定的间隔(3m
))
(2.379 - 2.352) / (6m / 3m)
计算与每个与正则表达式匹配的字段键关联的字段值之间的导数,并指定 unit 选项
返回 h2o_feet
measurement 中与每个存储数值并包含单词 water
的字段键关联的字段值之间的两分钟变化率。
SELECT DERIVATIVE(/water/,2m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | derivative_water_level |
---|
2019-08-18T00:06:00Z | 0.0090000000 |
2019-08-18T00:12:00Z | -0.0120000000 |
2019-08-18T00:18:00Z | -0.0046666667 |
2019-08-18T00:24:00Z | -0.0216666667 |
2019-08-18T00:30:00Z | 0.0010000000 |
第一个结果 (0.0090000000
) 是原始数据中前两个后续字段值之间的两分钟变化率。
InfluxDB 计算字段值之间的差值(从第二个字段值中减去第一个字段值),然后将该值归一化为三分钟变化率(将字段值的时间戳之间的差值(分钟为单位)(6m
)除以指定的间隔(2m
))
(2.379 - 2.352) / (6m / 2m)
计算与字段键关联的字段值之间的导数,并包含多个子句
返回 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 h2o_feet
measurement 中 water_level
字段值之间的一秒变化率,并以 时间戳降序 返回结果。该查询还 限制 返回的点数为一个,并 偏移 结果两个点。
SELECT DERIVATIVE("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' ORDER BY time DESC LIMIT 1 OFFSET 2
时间 | derivative |
---|
2019-08-18T00:12:00Z | 0.0000388889 |
唯一结果 (0.0000388889
) 是原始数据中相关的后续字段值之间的一秒变化率。 InfluxDB 计算字段值之间的差值(从第二个字段值中减去第一个字段值),然后将该值归一化为一秒变化率(将字段值的时间戳之间的差值(秒为单位)(360
)除以指定的变化率(1s
))
(2.379 - 2.352) / (360s / 1s)
高级语法
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()
。
示例
计算平均值的导数
返回以 12 分钟为间隔计算的 平均值 water_level
之间的 12 分钟变化率。
SELECT DERIVATIVE(MEAN("water_level")) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m)
时间 | derivative |
---|
2019-08-18T00:00:00Z | -0.1375000000 |
2019-08-18T00:12:00Z | -0.0295000000 |
2019-08-18T00:24:00Z | -0.0705000000 |
计算平均值的导数,并指定 unit 选项
返回以 12 分钟为间隔计算的平均值 water_level
之间的六分钟变化率。
SELECT DERIVATIVE(MEAN("water_level"),6m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m)
时间 | derivative |
---|
2019-08-18T00:00:00Z | -0.0687500000 |
2019-08-18T00:12:00Z | -0.0147500000 |
2019-08-18T00:24:00Z | -0.0352500000 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值之间的差值
返回 h2o_feet
measurement 中 water_level
字段键中后续字段值之间的差值。
SELECT DIFFERENCE("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | difference |
---|
2019-08-18T00:06:00Z | 0.0270000000 |
2019-08-18T00:12:00Z | -0.0360000000 |
2019-08-18T00:18:00Z | -0.0140000000 |
2019-08-18T00:24:00Z | -0.0650000000 |
2019-08-18T00:30:00Z | 0.0030000000 |
计算与 measurement 中每个字段键关联的字段值之间的差值
返回 h2o_feet
measurement 中每个存储数值的字段键的后续字段值之间的差值。h2o_feet
measurement 有一个数值字段:water_level
。
SELECT DIFFERENCE(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | difference_water_level |
---|
2019-08-18T00:06:00Z | 0.0270000000 |
2019-08-18T00:12:00Z | -0.0360000000 |
2019-08-18T00:18:00Z | -0.0140000000 |
2019-08-18T00:24:00Z | -0.0650000000 |
2019-08-18T00:30:00Z | 0.0030000000 |
计算与每个与正则表达式匹配的字段键关联的字段值之间的差值
返回 h2o_feet
measurement 中每个存储数值并包含单词 water
的字段键的后续字段值之间的差值。
SELECT DIFFERENCE(/water/) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | difference_water_level |
---|
2019-08-18T00:06:00Z | 0.0270000000 |
2019-08-18T00:12:00Z | -0.0360000000 |
2019-08-18T00:18:00Z | -0.0140000000 |
2019-08-18T00:24:00Z | -0.0650000000 |
2019-08-18T00:30:00Z | 0.0030000000 |
计算与字段键关联的字段值之间的差值,并包含多个子句
SELECT DIFFERENCE("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 2 OFFSET 2
时间 | difference |
---|
2019-08-18T00:12:00Z | 0.0140000000 |
2019-08-18T00:06:00Z | 0.0360000000 |
返回 water_level
字段键中后续字段值之间的差异,时间范围在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间,结果按 时间戳降序排列。该查询还 限制 返回的点数为两个,并 偏移 结果两个点。
高级语法
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()
。
示例
计算最大值之间的差异
返回以 12 分钟间隔计算的 最大 water_level
之间的差异。
SELECT DIFFERENCE(MAX("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | difference |
---|
2019-08-18T00:00:00Z | -0.2290000000 |
2019-08-18T00:12:00Z | -0.0360000000 |
2019-08-18T00:24:00Z | -0.0760000000 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
计算与字段键关联的字段值之间经过的时间
返回 water_level
字段键和 h2o_feet
指标中,后续时间戳之间经过的时间(以纳秒为单位)。
SELECT ELAPSED("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z'
时间 | elapsed |
---|
2019-08-18T00:06:00Z | 360000000000.0000000000 |
2019-08-18T00:12:00Z | 360000000000.0000000000 |
计算与字段键关联的字段值之间经过的时间,并指定单位选项
返回 water_level
字段键和 h2o_feet
指标中,后续时间戳之间经过的时间(以分钟为单位)。
SELECT ELAPSED("water_level",1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z'
时间 | elapsed |
---|
2019-08-18T00:06:00Z | 6.0000000000 |
2019-08-18T00:12:00Z | 6.0000000000 |
计算与指标中每个字段键关联的字段值之间经过的时间,并指定单位选项
返回 h2o_feet
指标中,与每个字段键关联的后续时间戳之间的差异(以分钟为单位)。h2o_feet
指标有两个字段键:level description
和 water_level
。
SELECT ELAPSED(*,1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z'
时间 | elapsed_level description | elapsed_water_level |
---|
2019-08-18T00:06:00Z | 6.0000000000 | 6.0000000000 |
2019-08-18T00:12:00Z | 6.0000000000 | 6.0000000000 |
计算与每个匹配正则表达式的字段键关联的字段值之间经过的时间,并指定单位选项
返回 h2o_feet
指标中,与每个包含单词 level
的字段键关联的后续时间戳之间的差异(以秒为单位)。
SELECT ELAPSED(/level/,1s) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z'
时间 | elapsed_level description | elapsed_water_level |
---|
2019-08-18T00:06:00Z | 360.0000000000 | 360.0000000000 |
2019-08-18T00:12:00Z | 360.0000000000 | 360.0000000000 |
计算与字段键关联的字段值之间经过的时间,并包含多个子句
返回 water_level
字段键和 h2o_feet
指标中,2019-08-17T00:00:00Z
和 2019-08-17T00:12:00Z
之间的 时间范围 内,以 降序排列 的时间戳之间,后续时间戳之间的差异(以毫秒为单位)。该查询还 限制 返回的点数为一个,并 偏移 结果一个点。
SELECT ELAPSED("water_level",1ms) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z' ORDER BY time DESC LIMIT 1 OFFSET 1
时间 | elapsed |
---|
2019-08-18T00:00:00Z | -360000.0000000000 |
请注意,结果为负数;ORDER BY time DESC
子句 按降序对时间戳进行排序,因此 ELAPSED()
计算反向顺序的时间戳之间的差异。
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'
时间 | elapsed |
---|
2019-08-18T00:06:00Z | 0.0000000000 |
2019-08-18T00:12:00Z | 0.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)
时间 | elapsed |
---|
2019-08-18T00:36:00Z | 12.0000000000 |
2019-08-18T00:48:00Z | 12.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)
时间 | min |
---|
2019-08-18T00:36:00Z | 2.0930000000 |
2019-08-18T00:48:00Z | 2.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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的指数
返回 h2o_feet
指标中 water_level
字段键中字段值的指数。
SELECT EXP("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | exp |
---|
2019-08-18T00:00:00Z | 10.5065618493 |
2019-08-18T00:06:00Z | 10.7941033617 |
2019-08-18T00:12:00Z | 10.4124270347 |
2019-08-18T00:18:00Z | 10.2676687288 |
2019-08-18T00:24:00Z | 9.6214982905 |
2019-08-18T00:30:00Z | 9.6504061254 |
计算与指标中每个字段键关联的字段值的指数
返回 h2o_feet
指标中,存储数值的每个字段键的字段值的指数。h2o_feet
指标有一个数值字段:water_level
。
SELECT EXP(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | exp_water_level |
---|
2019-08-18T00:00:00Z | 10.5065618493 |
2019-08-18T00:06:00Z | 10.7941033617 |
2019-08-18T00:12:00Z | 10.4124270347 |
2019-08-18T00:18:00Z | 10.2676687288 |
2019-08-18T00:24:00Z | 9.6214982905 |
2019-08-18T00:30:00Z | 9.6504061254 |
计算与字段键关联的字段值的指数,并包含多个子句
SELECT EXP("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | exp |
---|
2019-08-18T00:18:00Z | 10.2676687288 |
2019-08-18T00:12:00Z | 10.4124270347 |
2019-08-18T00:06:00Z | 10.7941033617 |
2019-08-18T00:00:00Z | 10.5065618493 |
返回 water_level
字段键中,2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 时间范围 内,以 降序排列 的时间戳,与 water_level
字段键关联的字段值的指数。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
高级语法
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()
。
示例
计算均值的指数
返回以 12 分钟间隔计算的 平均 water_level
的指数。
SELECT EXP(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | exp |
---|
2019-08-18T00:00:00Z | 10.6493621676 |
2019-08-18T00:12:00Z | 10.3397945558 |
2019-08-18T00:24:00Z | 9.6359413675 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的向下取整值
返回 h2o_feet
指标中 water_level
字段键中,向下舍入到最接近整数的字段值。
SELECT FLOOR("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | floor |
---|
2019-08-18T00:00:00Z | 2.0000000000 |
2019-08-18T00:06:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:18:00Z | 2.0000000000 |
2019-08-18T00:24:00Z | 2.0000000000 |
2019-08-18T00:30:00Z | 2.0000000000 |
计算与指标中每个字段键关联的字段值的向下取整值
返回 h2o_feet
指标中,存储数值的每个字段键的字段值,向下舍入到最接近的整数。h2o_feet
指标有一个数值字段:water_level
。
SELECT FLOOR(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | floor_water_level |
---|
2019-08-18T00:00:00Z | 2.0000000000 |
2019-08-18T00:06:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:18:00Z | 2.0000000000 |
2019-08-18T00:24:00Z | 2.0000000000 |
2019-08-18T00:30:00Z | 2.0000000000 |
计算与字段键关联的字段值的向下取整值,并包含多个子句
返回 water_level
字段键中,2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 时间范围 内,以 降序排列 的时间戳,向下舍入到最接近整数的,与 water_level
字段键关联的字段值。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT FLOOR("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | floor |
---|
2019-08-18T00:18:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:06:00Z | 2.0000000000 |
2019-08-18T00:00:00Z | 2.0000000000 |
高级语法
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()
。
示例
计算向下舍入到最接近整数的平均值
返回以 12 分钟为间隔计算并向上舍入到最接近整数的 平均值 water_level
。
SELECT FLOOR(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | floor |
---|
2019-08-18T00:00:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:24:00Z | 2.0000000000 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的自然对数
返回 h2o_feet
指标中 water_level
字段键中字段值的自然对数。
SELECT LN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | ln |
---|
2019-08-18T00:00:00Z | 0.8552660300 |
2019-08-18T00:06:00Z | 0.8666802313 |
2019-08-18T00:12:00Z | 0.8514321595 |
2019-08-18T00:18:00Z | 0.8454389909 |
2019-08-18T00:24:00Z | 0.8171331603 |
2019-08-18T00:30:00Z | 0.8184573715 |
计算与指标中每个字段键关联的字段值的自然对数
返回 h2o_feet
指标中,存储数值的每个字段键的字段值的自然对数。h2o_feet
指标有一个数值字段:water_level
。
SELECT LN(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | ln_water_level |
---|
2019-08-18T00:00:00Z | 0.8552660300 |
2019-08-18T00:06:00Z | 0.8666802313 |
2019-08-18T00:12:00Z | 0.8514321595 |
2019-08-18T00:18:00Z | 0.8454389909 |
2019-08-18T00:24:00Z | 0.8171331603 |
2019-08-18T00:30:00Z | 0.8184573715 |
计算与字段键关联的字段值的自然对数,并包含多个子句
SELECT LN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | ln |
---|
2019-08-18T00:18:00Z | 0.8454389909 |
2019-08-18T00:12:00Z | 0.8514321595 |
2019-08-18T00:06:00Z | 0.8666802313 |
2019-08-18T00:00:00Z | 0.8552660300 |
返回 water_level
字段键中,2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 时间范围 内,以 降序排列 的时间戳,与 water_level
字段键关联的字段值的自然对数。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
高级语法
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()
。
示例
计算均值的自然对数
返回以 12 分钟间隔计算的 平均 water_level
的自然对数。
SELECT LN(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | ln |
---|
2019-08-18T00:00:00Z | 0.8609894161 |
2019-08-18T00:12:00Z | 0.8484400650 |
2019-08-18T00:24:00Z | 0.8177954851 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算以 4 为底的字段值的对数
返回 h2o_feet
指标中 water_level
字段键中字段值的以 4 为底的对数。
SELECT LOG("water_level", 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | log |
---|
2019-08-18T00:00:00Z | 0.6169440301 |
2019-08-18T00:06:00Z | 0.6251776359 |
2019-08-18T00:12:00Z | 0.6141784771 |
2019-08-18T00:18:00Z | 0.6098553198 |
2019-08-18T00:24:00Z | 0.5894369791 |
2019-08-18T00:30:00Z | 0.5903921955 |
计算以 4 为底的指标中每个字段键关联的字段值的对数
返回 h2o_feet
指标中,每个数值字段的字段值的以 4 为底的对数。h2o_feet
指标有一个数值字段:water_level
。
SELECT LOG(*, 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | log_water_level |
---|
2019-08-18T00:00:00Z | 0.6169440301 |
2019-08-18T00:06:00Z | 0.6251776359 |
2019-08-18T00:12:00Z | 0.6141784771 |
2019-08-18T00:18:00Z | 0.6098553198 |
2019-08-18T00:24:00Z | 0.5894369791 |
2019-08-18T00:30:00Z | 0.5903921955 |
计算以 4 为底的字段值的对数,并包含多个子句
返回 water_level
字段键中,2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 时间范围 内,以 降序排列 的时间戳,与 water_level
字段键关联的字段值的以 4 为底的对数。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT LOG("water_level", 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | log |
---|
2019-08-18T00:18:00Z | 0.6098553198 |
2019-08-18T00:12:00Z | 0.6141784771 |
2019-08-18T00:06:00Z | 0.6251776359 |
2019-08-18T00:00:00Z | 0.6169440301 |
高级语法
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 为底的均值的对数
返回以 12 分钟间隔计算的 平均 water_level
的以 4 为底的对数。
SELECT LOG(MEAN("water_level"), 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | log |
---|
2019-08-18T00:00:00Z | 0.6210725804 |
2019-08-18T00:12:00Z | 0.6120201371 |
2019-08-18T00:24:00Z | 0.5899147454 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算以 2 为底的字段值的对数
返回 h2o_feet
指标中 water_level
字段键中字段值的以 2 为底的对数。
SELECT LOG2("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | log2 |
---|
2019-08-18T00:00:00Z | 1.2338880602 |
2019-08-18T00:06:00Z | 1.2503552718 |
2019-08-18T00:12:00Z | 1.2283569542 |
2019-08-18T00:18:00Z | 1.2197106395 |
2019-08-18T00:24:00Z | 1.1788739582 |
2019-08-18T00:30:00Z | 1.1807843911 |
计算以 2 为底的指标中每个字段键关联的字段值的对数
SELECT LOG2(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | log2_water_level |
---|
2019-08-18T00:00:00Z | 1.2338880602 |
2019-08-18T00:06:00Z | 1.2503552718 |
2019-08-18T00:12:00Z | 1.2283569542 |
2019-08-18T00:18:00Z | 1.2197106395 |
2019-08-18T00:24:00Z | 1.1788739582 |
2019-08-18T00:30:00Z | 1.1807843911 |
返回 h2o_feet
指标中,每个数值字段的字段值的以 2 为底的对数。h2o_feet
指标有一个数值字段:water_level
。
计算以 2 为底的字段值的对数,并包含多个子句
返回 water_level
字段键中,2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 时间范围 内,以 降序排列 的时间戳,与 water_level
字段键关联的字段值的以 2 为底的对数。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT LOG2("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | log2 |
---|
2019-08-18T00:18:00Z | 1.2197106395 |
2019-08-18T00:12:00Z | 1.2283569542 |
2019-08-18T00:06:00Z | 1.2503552718 |
2019-08-18T00:00:00Z | 1.2338880602 |
高级语法
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 为底的均值的对数
返回以 12 分钟间隔计算的 平均 water_level
的以 2 为底的对数。
SELECT LOG2(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | log2 |
---|
2019-08-18T00:00:00Z | 1.2421451608 |
2019-08-18T00:12:00Z | 1.2240402742 |
2019-08-18T00:24:00Z | 1.1798294909 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算以 10 为底的字段值的对数
返回 h2o_feet
指标中 water_level
字段键中字段值的以 10 为底的对数。
SELECT LOG10("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | log10 |
---|
2019-08-18T00:00:00Z | 0.3714373174 |
2019-08-18T00:06:00Z | 0.3763944420 |
2019-08-18T00:12:00Z | 0.3697722886 |
2019-08-18T00:18:00Z | 0.3671694885 |
2019-08-18T00:24:00Z | 0.3548764225 |
2019-08-18T00:30:00Z | 0.3554515201 |
计算以 10 为底的指标中每个字段键关联的字段值的对数
返回 h2o_feet
指标中,每个数值字段的字段值的以 10 为底的对数。h2o_feet
指标有一个数值字段:water_level
。
SELECT LOG10(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | log10_water_level |
---|
2019-08-18T00:00:00Z | 0.3714373174 |
2019-08-18T00:06:00Z | 0.3763944420 |
2019-08-18T00:12:00Z | 0.3697722886 |
2019-08-18T00:18:00Z | 0.3671694885 |
2019-08-18T00:24:00Z | 0.3548764225 |
2019-08-18T00:30:00Z | 0.3554515201 |
计算以 10 为底的字段值的对数,并包含多个子句
返回 water_level
字段键中,2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 时间范围 内,以 降序排列 的时间戳,与 water_level
字段键关联的字段值的以 10 为底的对数。该查询还 限制 返回的点数为四个,并 偏移 结果两个点。
SELECT LOG10("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | log10 |
---|
2019-08-18T00:18:00Z | 0.3671694885 |
2019-08-18T00:12:00Z | 0.3697722886 |
2019-08-18T00:06:00Z | 0.3763944420 |
2019-08-18T00:00:00Z | 0.3714373174 |
高级语法
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 为底的均值的对数
返回以 12 分钟间隔计算的 平均 water_level
的以 10 为底的对数。
SELECT LOG10(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | log10 |
---|
2019-08-18T00:00:00Z | 0.3739229524 |
2019-08-18T00:12:00Z | 0.3684728384 |
2019-08-18T00:24:00Z | 0.3551640665 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的移动平均值
返回 water_level
字段键和 h2o_feet
指标的,两个字段值窗口上的滚动平均值。
SELECT MOVING_AVERAGE("water_level",2) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | moving_average |
---|
2019-08-18T00:06:00Z | 2.3655000000 |
2019-08-18T00:12:00Z | 2.3610000000 |
2019-08-18T00:18:00Z | 2.3360000000 |
2019-08-18T00:24:00Z | 2.2965000000 |
2019-08-18T00:30:00Z | 2.2655000000 |
第一个结果 (2.3655000000
) 是原始数据中前两个点的平均值:(2.3520000000 + 2.3790000000) / 2
)。第二个结果 (2.3610000000
) 是原始数据中后两个点的平均值:(2.3790000000 + 2.3430000000) / 2
)。
计算与指标中每个字段键关联的字段值的移动平均值
返回 h2o_feet
指标中,存储数值的每个字段键的,三个字段值窗口上的滚动平均值。h2o_feet
指标有一个数值字段:water_level
。
SELECT MOVING_AVERAGE(*,3) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | moving_average_water_level |
---|
2019-08-18T00:12:00Z | 2.3580000000 |
2019-08-18T00:18:00Z | 2.3503333333 |
2019-08-18T00:24:00Z | 2.3120000000 |
2019-08-18T00:30:00Z | 2.2866666667 |
计算与每个匹配正则表达式的字段键关联的字段值的移动平均值
返回 h2o_feet
指标中,每个字段键包含单词 level
的数值字段的,四个字段值窗口上的滚动平均值。
SELECT MOVING_AVERAGE(/level/,4) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
时间 | moving_average_water_level |
---|
2019-08-18T00:18:00Z | 2.3507500000 |
2019-08-18T00:24:00Z | 2.3287500000 |
2019-08-18T00:30:00Z | 2.3007500000 |
计算与字段键关联的字段值的移动平均值,并包含多个子句
返回 water_level
字段键中,2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间的 时间范围 内,以 降序排列 的时间戳,water_level
字段键的,两个字段值窗口上的滚动平均值。该查询还 限制 返回的点数为两个,并 偏移 结果三个点。
SELECT MOVING_AVERAGE("water_level",2) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' ORDER BY time DESC LIMIT 2 OFFSET 3
时间 | moving_average |
---|
2019-08-18T00:06:00Z | 2.3610000000 |
2019-08-18T00:00:00Z | 2.3655000000 |
高级语法
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()
。
示例
计算最大值的移动平均值
返回以 12 分钟间隔计算的 最大 water_level
的,两个值窗口上的滚动平均值。
SELECT MOVING_AVERAGE(MAX("water_level"),2) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m)
时间 | moving_average |
---|
2019-08-18T00:00:00Z | 2.4935000000 |
2019-08-18T00:12:00Z | 2.3610000000 |
2019-08-18T00:24:00Z | 2.3050000000 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的 4 次幂
返回 h2o_feet
测量中 water_level
字段键中字段值的 4 次幂。
SELECT POW("water_level", 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | pow |
---|
2019-08-18T00:00:00Z | 30.6019618652 |
2019-08-18T00:06:00Z | 32.0315362489 |
2019-08-18T00:12:00Z | 30.1362461432 |
2019-08-18T00:18:00Z | 29.4223904261 |
2019-08-18T00:24:00Z | 26.2727594844 |
2019-08-18T00:30:00Z | 26.4122914255 |
计算与测量中每个字段键关联的字段值的 4 次幂
返回 h2o_feet
测量中存储数值的每个字段键的字段值的 4 次幂。h2o_feet
测量有一个数值字段:water_level
。
SELECT POW(*, 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | pow_water_level |
---|
2019-08-18T00:00:00Z | 30.6019618652 |
2019-08-18T00:06:00Z | 32.0315362489 |
2019-08-18T00:12:00Z | 30.1362461432 |
2019-08-18T00:18:00Z | 29.4223904261 |
2019-08-18T00:24:00Z | 26.2727594844 |
2019-08-18T00:30:00Z | 26.4122914255 |
计算与字段键关联的字段值的 4 次幂,并包含多个子句
返回 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间,并以 降序时间戳顺序 排序的与 water_level
字段键关联的字段值的 4 次幂。查询还 限制 了返回的点数为四个,并 偏移 了两个点的结果。
SELECT POW("water_level", 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | pow |
---|
2019-08-18T00:18:00Z | 29.4223904261 |
2019-08-18T00:12:00Z | 30.1362461432 |
2019-08-18T00:06:00Z | 32.0315362489 |
2019-08-18T00:00:00Z | 30.6019618652 |
高级语法
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 次幂
返回以 12 分钟间隔计算的 平均 water_level
的 4 次幂。
SELECT POW(MEAN("water_level"), 4) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | pow |
---|
2019-08-18T00:00:00Z | 31.3106302459 |
2019-08-18T00:12:00Z | 29.7777139548 |
2019-08-18T00:24:00Z | 26.3424561663 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
舍入与字段键关联的字段值
返回 h2o_feet
测量中 water_level
字段键中字段值的四舍五入到最接近的整数。
SELECT ROUND("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | round |
---|
2019-08-18T00:00:00Z | 2.0000000000 |
2019-08-18T00:06:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:18:00Z | 2.0000000000 |
2019-08-18T00:24:00Z | 2.0000000000 |
2019-08-18T00:30:00Z | 2.0000000000 |
舍入与测量中每个字段键关联的字段值
返回 h2o_feet
测量中每个数值字段的字段值的四舍五入到最接近的整数。h2o_feet
测量有一个数值字段:water_level
。
SELECT ROUND(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | round_water_level |
---|
2019-08-18T00:00:00Z | 2.0000000000 |
2019-08-18T00:06:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:18:00Z | 2.0000000000 |
2019-08-18T00:24:00Z | 2.0000000000 |
2019-08-18T00:30:00Z | 2.0000000000 |
舍入与字段键关联的字段值,并包含多个子句
返回 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间,并以 降序时间戳顺序 排序的与 water_level
字段键关联的字段值的四舍五入到最接近的整数。查询还 限制 了返回的点数为四个,并 偏移 了两个点的结果。
SELECT ROUND("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | round |
---|
2019-08-18T00:18:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:06:00Z | 2.0000000000 |
2019-08-18T00:00:00Z | 2.0000000000 |
高级语法
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()
。
示例
计算四舍五入到最接近整数的平均值
返回以 12 分钟间隔计算并四舍五入到最接近整数的 平均 water_level
。
SELECT ROUND(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | round |
---|
2019-08-18T00:00:00Z | 2.0000000000 |
2019-08-18T00:12:00Z | 2.0000000000 |
2019-08-18T00:24:00Z | 2.0000000000 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的正弦值
返回 h2o_feet
测量中 water_level
字段键中字段值的正弦值。
SELECT SIN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | sin |
---|
2019-08-18T00:00:00Z | 0.7100665046 |
2019-08-18T00:06:00Z | 0.6907983763 |
2019-08-18T00:12:00Z | 0.7163748731 |
2019-08-18T00:18:00Z | 0.7260723687 |
2019-08-18T00:24:00Z | 0.7692028035 |
2019-08-18T00:30:00Z | 0.7672823308 |
计算与测量中每个字段键关联的字段值的正弦值
返回 h2o_feet
测量中每个数值字段的字段值的正弦值。h2o_feet
测量有一个数值字段:water_level
。
SELECT SIN(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | sin_water_level |
---|
2019-08-18T00:00:00Z | 0.7100665046 |
2019-08-18T00:06:00Z | 0.6907983763 |
2019-08-18T00:12:00Z | 0.7163748731 |
2019-08-18T00:18:00Z | 0.7260723687 |
2019-08-18T00:24:00Z | 0.7692028035 |
2019-08-18T00:30:00Z | 0.7672823308 |
计算与字段键关联的字段值的正弦值,并包含多个子句
返回 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间,并以 降序时间戳顺序 排序的与 water_level
字段键关联的字段值的正弦值。查询还 限制 了返回的点数为四个,并 偏移 了两个点的结果。
SELECT SIN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | sin |
---|
2019-08-18T00:18:00Z | 0.7260723687 |
2019-08-18T00:12:00Z | 0.7163748731 |
2019-08-18T00:06:00Z | 0.6907983763 |
2019-08-18T00:00:00Z | 0.7100665046 |
高级语法
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()
。
示例
计算平均值的正弦值
返回以 12 分钟间隔计算的 平均 water_level
的正弦值。
SELECT SIN(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | sin |
---|
2019-08-18T00:00:00Z | 0.7004962722 |
2019-08-18T00:12:00Z | 0.7212412912 |
2019-08-18T00:24:00Z | 0.7682434314 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的平方根
返回 h2o_feet
测量中 water_level
字段键中字段值的平方根。
SELECT SQRT("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | sqrt |
---|
2019-08-18T00:00:00Z | 1.5336231610 |
2019-08-18T00:06:00Z | 1.5424007261 |
2019-08-18T00:12:00Z | 1.5306861207 |
2019-08-18T00:18:00Z | 1.5261061562 |
2019-08-18T00:24:00Z | 1.5046594299 |
2019-08-18T00:30:00Z | 1.5056560032 |
计算与测量中每个字段键关联的字段值的平方根
返回 h2o_feet
测量中每个数值字段的字段值的平方根。h2o_feet
测量有一个数值字段:water_level
。
SELECT SQRT(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | sqrt_water_level |
---|
2019-08-18T00:00:00Z | 1.5336231610 |
2019-08-18T00:06:00Z | 1.5424007261 |
2019-08-18T00:12:00Z | 1.5306861207 |
2019-08-18T00:18:00Z | 1.5261061562 |
2019-08-18T00:24:00Z | 1.5046594299 |
2019-08-18T00:30:00Z | 1.5056560032 |
计算与字段键关联的字段值的平方根,并包含多个子句
返回 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间,并以 降序时间戳顺序 排序的与 water_level
字段键关联的字段值的平方根。查询还 限制 了返回的点数为四个,并 偏移 了两个点的结果。
SELECT SQRT("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | sqrt |
---|
2019-08-18T00:18:00Z | 1.5261061562 |
2019-08-18T00:12:00Z | 1.5306861207 |
2019-08-18T00:06:00Z | 1.5424007261 |
2019-08-18T00:00:00Z | 1.5336231610 |
高级语法
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()
。
示例
计算平均值的平方根
返回以 12 分钟间隔计算的 平均 water_level
的平方根。
SELECT SQRT(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | sqrt |
---|
2019-08-18T00:00:00Z | 1.5380182054 |
2019-08-18T00:12:00Z | 1.5283978540 |
2019-08-18T00:24:00Z | 1.5051577990 |
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'
时间 | water_level |
---|
2019-08-18T00:00:00Z | 2.3520000000 |
2019-08-18T00:06:00Z | 2.3790000000 |
2019-08-18T00:12:00Z | 2.3430000000 |
2019-08-18T00:18:00Z | 2.3290000000 |
2019-08-18T00:24:00Z | 2.2640000000 |
2019-08-18T00:30:00Z | 2.2670000000 |
计算与字段键关联的字段值的正切值
返回 h2o_feet
测量中 water_level
字段键中字段值的正切值。
SELECT TAN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | tan |
---|
2019-08-18T00:00:00Z | -1.0084243657 |
2019-08-18T00:06:00Z | -0.9553984098 |
2019-08-18T00:12:00Z | -1.0267433979 |
2019-08-18T00:18:00Z | -1.0559235802 |
2019-08-18T00:24:00Z | -1.2037513424 |
2019-08-18T00:30:00Z | -1.1964307053 |
计算与测量中每个字段键关联的字段值的正切值
返回 h2o_feet
测量中每个数值字段的字段值的正切值。h2o_feet
测量有一个数值字段:water_level
。
SELECT TAN(*) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
时间 | tan_water_level |
---|
2019-08-18T00:00:00Z | -1.0084243657 |
2019-08-18T00:06:00Z | -0.9553984098 |
2019-08-18T00:12:00Z | -1.0267433979 |
2019-08-18T00:18:00Z | -1.0559235802 |
2019-08-18T00:24:00Z | -1.2037513424 |
2019-08-18T00:30:00Z | -1.1964307053 |
计算与字段键关联的字段值的正切值,并包含多个子句
返回 时间范围 在 2019-08-18T00:00:00Z
和 2019-08-18T00:30:00Z
之间,并以 降序时间戳顺序 排序的与 water_level
字段键关联的字段值的正切值。查询还 限制 了返回的点数为四个,并 偏移 了两个点的结果。
SELECT TAN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' ORDER BY time DESC LIMIT 4 OFFSET 2
时间 | tan |
---|
2019-08-18T00:18:00Z | -1.0559235802 |
2019-08-18T00:12:00Z | -1.0267433979 |
2019-08-18T00:06:00Z | -0.9553984098 |
2019-08-18T00:00:00Z | -1.0084243657 |
高级语法
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()
。
示例
计算平均值的正切值
返回以 12 分钟间隔计算的 平均 water_level
的正切值。
SELECT TAN(MEAN("water_level")) FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica' GROUP BY time(12m)
时间 | tan |
---|
2019-08-18T00:00:00Z | -0.9815600413 |
2019-08-18T00:12:00Z | -1.0412271461 |
2019-08-18T00:24:00Z | -1.2000844348 |
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您对 InfluxDB 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户 可以联系 InfluxData 支持。