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 支持。