InfluxQL 转换函数
InfluxQL 转换函数修改并返回查询数据每行的值。
下面每个转换函数涵盖语法,包括传递给函数的参数,以及如何使用该函数的示例。示例使用NOAA水样数据和来自sample_test.txt的数据。
绝对值函数(ABS)()
返回字段值的绝对值。支持 GROUP BY 子句,按标签分组,但不支持 按时间分组。
基本语法
SELECT ABS( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
ABS(field_key)
返回与字段键相关联的字段值的绝对值。
ABS(*)
返回与measurement中每个字段键相关联的字段值的绝对值。
ABS() 支持 int64 和 float64 字段值 数据类型。
示例
计算与字段键相关的字段值的绝对值
返回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'
| 时间 | 绝对值 |
|---|
| 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'
| 时间 | 绝对水位 |
|---|
| 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 |
计算与字段键关联的字段值的绝对值并包含多个子句
返回与时间范围相关的water_level字段键的绝对值,在2019-08-18T00:00:00Z和2019-08-18T00:30:00Z之间,结果为按时间戳降序排列。查询还限制返回的点的数量为四个,并且偏移结果两个点。
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
| 时间 | 绝对值 |
|---|
| 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分钟间隔计算的mean 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)
| 时间 | 绝对值 |
|---|
| 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(*)
返回与measurement中每个字段键相关联的字段值的反余弦。
ACOS() 支持值在 -1 和 1 之间的 int64 和 float64 字段值 数据类型。
示例
下面的示例使用来自 sample_test.txt 的一部分数据,这些数据仅包括可计算范围内的字段值(-1 到 1)。这个值范围是 ACOS() 函数所要求的:
| 时间 | a |
|---|
| 2018-06-24T12:01:00Z | -0.774984088561186 |
| 2018-06-24T12:02:00Z | -0.921037167720451 |
| 2018-06-24T12:04:00Z | -0.905980032168252 |
| 2018-06-24T12:05:00Z | -0.891164752631417 |
| 2018-06-24T12:09: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'
| 时间 | 反余弦 |
|---|
| 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 |
计算与字段键相关的字段值的反余弦,并包含多个子句
返回与时间范围内a字段键相关的字段值的反余弦,时间范围为2018-06-24T00:00:00Z至2018-06-25T00:00:00Z,结果按降序时间戳排列。查询还限制返回的点数为四个,并偏移结果两个点。
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
| 时间 | 反余弦 |
|---|
| 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小时间隔计算的mean 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)
| 时间 | 反余弦 |
|---|
| 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)
返回与 field key 相关的字段值的反正弦值。
ASIN(*)
返回与measurement中每个字段键关联的字段值的反正弦。
ASIN() 支持 int64 和 float64 字段值 数据类型,其值在 -1 和 1 之间。
支持 GROUP BY 子句,用于 按标签分组,但不支持 GROUP BY 子句,用于 按时间分组。要在 GROUP BY time() 子句中使用 ASIN(),请参阅 高级语法。
示例
下面的示例使用来自 sample_test.txt 的以下数据。
此数据集中提供的数据仅包括ASIN()函数所需的可计算范围内的字段值(-1到1):
| 时间 | a |
|---|
| 2018-06-24T12:01:00Z | -0.774984088561186 |
| 2018-06-24T12:02:00Z | -0.921037167720451 |
| 2018-06-24T12:04:00Z | -0.905980032168252 |
| 2018-06-24T12:05:00Z | -0.891164752631417 |
| 2018-06-24T12:09: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'
| 时间 | 商品编号 |
|---|
| 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 |
计算与字段键相关的字段值的反正弦,并包括多个子句
返回与 a 字段键相关联的字段值的反正弦,在 时间范围 内,介于 2018-06-24T00:00:00Z 和 2018-06-25T00:00:00Z 之间,结果为 降序时间戳排列。查询还 限制 返回的点数为四个,并 偏移 两个点的结果。
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
| 时间 | 商品编号 |
|---|
| 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小时间隔下计算的平均值的反正弦。
SELECT ASIN(MEAN("a")) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z' GROUP BY time(3h)
| 时间 | 商品编号 |
|---|
| 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 子句按 时间分组。要在 GROUP BY time() 子句中使用 ATAN(),请参阅 高级语法。
基本语法
SELECT ATAN( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
ATAN(field_key)
返回与字段键关联的字段值的反正切。
ATAN(*)
返回与measurement中每个字段键相关联的字段值的反正切。
ATAN() 支持 int64 和 float64 字段值 数据类型,值的范围在 -1 和 1 之间。
示例
以下示例使用来自 sample_test.txt 的子集数据,该数据仅包含 ATAN() 函数所需的可计算范围内的字段值(-1 到 1)。
计算与字段键相关的字段值的反正切
返回data测量中a字段键的字段值的反正切。
SELECT ATAN("a") FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
| 时间 | 反正切 |
|---|
| 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 |
计算与测量中每个字段键相关的字段值的反正切
返回每个存储数字值的字段键的字段值的反正切,在data测量中的字段a和b。
SELECT ATAN(*) FROM "data" WHERE time >= '2018-06-24T00:00:00Z' AND time <= '2018-06-25T00:00:00Z'
| 时间 | 反正切_a | 反正切_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 |
计算与字段键相关联的字段值的反正切并包括多个子句
返回与 a 字段键相关的字段值的反正切,在 时间范围 内,从 2017-05-01T00:00:00Z 到 2017-05-09T00:00:00Z,并按 时间戳降序 返回结果。查询还 限制 返回的点数为四个,并 偏移 两个点的结果。
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
| 时间 | 反正切 |
|---|
| 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)
| 时间 | 反正切 |
|---|
| 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)
返回与每个字段键相关联的字段值在测量中除以与field_key_x相关联的字段值。
ATAN2() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,这些子句 根据标签分组,但不支持 GROUP BY 子句,这些子句 根据时间分组。要使用 ATAN2() 与 GROUP BY time() 子句,请参阅 高级语法。
示例
下面的示例使用 sample_test.txt。
计算 field_key_a 上 field_key_b 的反正切
返回 a 字段键中字段值的反正切值,除以 b 字段键中的值。两者都是 data 测量的一部分。
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 |
计算与每个测量中的字段键关联的值的反正切,分母为field_key_a
返回data测量中所有数值字段值与a字段键中的值的反正切。
data测量有两个数值字段: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 |
计算字段值的反正切并包含多个条件
返回与时间范围相关的a字段键的值与b字段键的值的反正切,时间范围在2018-05-16T12:10:00Z和2018-05-16T12:10:00Z之间,结果按降序时间戳排序。查询还限制返回的点数为四个,并且偏移结果两个点。
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()。
示例
计算均值的反正切
返回 mean 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 |
向上取整()
返回向上舍入到最近整数的后续值。
基本语法
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'
| 时间 | 水位 |
|---|
| 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 CEIL("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
| 时间 | 向上取整 |
|---|
| 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 |
计算与测量中每个字段键相关联的字段值的上限
返回每个存储数字值的字段键的字段值,四舍五入到最近的整数。 h2o_feet 测量有一个数字字段: 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'
| 时间 | 水位上限 |
|---|
| 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 |
计算与字段键关联的字段值的上限,并包含多个子句
返回与water_level字段键相关联的字段值,四舍五入到最近的整数,位于时间范围内,时间从2019-08-18T00:00:00Z到2019-08-18T00:30:00Z,结果按时间戳降序排列。查询还限制返回的点数为四个,并且偏移结果两个点。
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
| 时间 | 向上取整 |
|---|
| 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)
| 时间 | 向上取整 |
|---|
| 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'
| 时间 | 水位 |
|---|
| 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 COS("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 余弦 |
|---|
| 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 |
计算与测量中每个字段键关联的字段值的余弦
返回每个数值字段在 h2o_feet 测量中的余弦值。
h2o_feet 测量有一个数值字段: 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'
| 时间 | 水位余弦 |
|---|
| 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 |
计算与字段键关联的字段值的余弦并包含多个子句
返回与water_level字段关键字相关的字段值的余弦
在时间范围内
介于2019-08-18T00:00:00Z和2019-08-18T00:30:00Z之间,结果为
降序时间戳格式。
查询还限制
返回的点数为四个,并且偏移
结果两个点。
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
| 时间 | 余弦 |
|---|
| 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分钟计算的mean 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)
| 时间 | 余弦 |
|---|
| 2019-08-18T00:00:00Z | -0.7136560605 |
| 2019-08-18T00:12:00Z | -0.6926839105 |
| 2019-08-18T00:24:00Z | -0.6401578165 |
累积和()
返回后续字段值的累计总和。
基本语法
SELECT CUMULATIVE_SUM( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
CUMULATIVE_SUM(field_key)
返回与字段键相关联的后续字段值的运行总和。
CUMULATIVE_SUM(/regular_expression/)
返回与匹配正则表达式的每个字段键相关联的后续字段值的累计总和。
CUMULATIVE_SUM(*)
返回与每个字段键相关联的后续字段值的运行总和。
CUMULATIVE_SUM() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句来 按标签分组,但不支持 GROUP BY 子句来 按时间分组。要使用 CUMULATIVE_SUM() 和 GROUP BY time() 子句,请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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 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'
| 时间 | 累积和 |
|---|
| 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 测量中的字段值的累积总和。 h2o_feet 测量有一个数值字段: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'
| 时间 | 累积水位 |
|---|
| 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 |
计算与匹配正则表达式的每个字段键相关联的字段值的累计和
返回每个存储数值并包含单词 water 的 h2o_feet 测量的字段键的累计总和。
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'
| 时间 | 累积水位 |
|---|
| 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 |
计算与字段键关联的字段值的累积和并包含多个子句
返回与时间范围内的water_level字段键相关的字段值的运行总计,时间范围为2019-08-18T00:00:00Z到2019-08-18T00:30:00Z,结果按降序时间戳顺序排列。该查询还限制返回点的数量为四个,并且偏移结果两个点。
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
| 时间 | 累积和 |
|---|
| 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分钟计算的均值水位的累计值。
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)
| 时间 | 累积和 |
|---|
| 2019-08-18T00:00:00Z | 2.3655000000 |
| 2019-08-18T00:12:00Z | 4.7015000000 |
| 2019-08-18T00:24:00Z | 6.9670000000 |
导数()
返回后续字段值之间的变化率。
基本语法
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'
| 时间 | 水位 |
|---|
| 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 DERIVATIVE("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
| 时间 | 导数 |
|---|
| 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)
计算与字段键相关的字段值之间的导数,并指定单位选项
返回 h2o_feet 测量中 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'
| 时间 | 导数 |
|---|
| 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)
计算测量中每个字段键相关的字段值之间的导数,并指定单位选项
返回与每个字段键关联的字段值之间的三分钟变化率,这些字段键存储了h2o_feet测量中的数值。
h2o_feet测量有一个数值字段: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'
| 时间 | 水位导数 |
|---|
| 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)
计算与每个匹配正则表达式的字段键相关的字段值之间的导数,并指定单位选项
返回与每个存储数值且包含单词 water 的字段键相关的字段值之间的两分钟变化率,在 h2o_feet 测量中。
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'
| 时间 | 水位导数 |
|---|
| 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)
计算与字段键相关的字段值之间的导数,并包含多个子句
返回在时间范围内h2o_feet测量中water_level字段值之间的每秒变化率,时间为2019-08-18T00:00:00Z和2019-08-18T00:30:00Z,结果为按时间戳降序排列。该查询还限制返回点的数量为一个,并偏移结果两个点。
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
| 时间 | 导数 |
|---|
| 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() 的时间间隔。 请注意,这种行为与 basic syntax’s 的默认行为是不同的。
DERIVATIVE()支持以下嵌套函数:
COUNT(),
MEAN(),
MEDIAN(),
MODE(),
SUM(),
FIRST(),
LAST(),
MIN(),
MAX(),以及
PERCENTILE()。
示例
计算平均值的导数
返回在12分钟间隔内计算的平均值 水位的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)
| 时间 | 导数 |
|---|
| 2019-08-18T00:00:00Z | -0.1375000000 |
| 2019-08-18T00:12:00Z | -0.0295000000 |
| 2019-08-18T00:24:00Z | -0.0705000000 |
计算平均值的导数并指定单位选项
返回在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)
| 时间 | 导数 |
|---|
| 2019-08-18T00:00:00Z | -0.0687500000 |
| 2019-08-18T00:12:00Z | -0.0147500000 |
| 2019-08-18T00:24:00Z | -0.0352500000 |
差异()
返回后续字段值之间的减法结果。
语法
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'
| 时间 | 水位 |
|---|
| 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 DIFFERENCE("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 差异 |
|---|
| 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测量中。
h2o_feet测量有一个数值字段: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'
| 时间 | 水位差 |
|---|
| 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 测量中包含单词 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'
| 时间 | 水位差 |
|---|
| 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
| 时间 | 差异 |
|---|
| 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)
| 时间 | 差异 |
|---|
| 2019-08-18T00:00:00Z | -0.2290000000 |
| 2019-08-18T00:12:00Z | -0.0360000000 |
| 2019-08-18T00:24:00Z | -0.0760000000 |
已过去时间()
返回后续字段值的时间戳之间的差值。
语法
SELECT ELAPSED( [ * | <field_key> | /<regular_expression>/ ] [ , <unit> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
InfluxDB 计算随后的时间戳之间的差值。
unit 选项是一个整数,后面跟随一个 duration,它决定了返回差值的单位。
如果查询没有指定 unit 选项,则查询返回时间戳之间的差值,以纳秒为单位。
ELAPSED(field_key)
返回与字段键相关的后续时间戳之间的差异。
ELAPSED(/regular_expression/)
返回与每个字段键相关联的后续时间戳之间的差异,这些字段键符合正则表达式。
ELAPSED(*)
返回与每个字段键关联的随时间戳之间的差异,单位为measurement。
ELAPSED() 支持所有字段值 数据类型。
示例
这些示例使用了以下的NOAA水样数据子样本:
SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:12:00Z'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 经过时间 |
|---|
| 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'
| 时间 | 耗时 |
|---|
| 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'
| 时间 | 经过的水平描述 | 经过的水位 |
|---|
| 2019-08-18T00:06:00Z | 6.0000000000 | 6.0000000000 |
| 2019-08-18T00:12:00Z | 6.0000000000 | 6.0000000000 |
计算与每个字段键相关联的字段值之间的经过时间,该字段键与正则表达式匹配并指定单位选项
返回与每个字段键相关联的后续时间戳之间的差异(以秒为单位),该字段键包含单词 level 在 h2o_feet 测量中。
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'
| 时间 | 经过的水平描述 | 经过的水位 |
|---|
| 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
| 时间 | 耗时 |
|---|
| 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'
| 时间 | 耗时 |
|---|
| 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)
| 时间 | 耗时 |
|---|
| 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)
| 时间 | 分钟 |
|---|
| 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(*)
返回与measurement中每个字段键关联的字段值的指数。
EXP() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,该子句 按标签分组 但不支持 GROUP BY 子句,该子句 按时间分组。要在 GROUP BY time() 子句中使用 EXP(),请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 经验 |
|---|
| 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'
| 时间 | 经验水位 |
|---|
| 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
| 时间 | 经验 |
|---|
| 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,结果以降序时间戳排序。查询还限制返回的点数为四个,并且偏移结果两个点。
高级语法
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分钟间隔计算的平均值水位的指数。
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)
| 时间 | 经验 |
|---|
| 2019-08-18T00:00:00Z | 10.6493621676 |
| 2019-08-18T00:12:00Z | 10.3397945558 |
| 2019-08-18T00:24:00Z | 9.6359413675 |
向下取整()
返回向下舍入到最接近的整数的后续值。
语法
SELECT FLOOR( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
FLOOR(field_key)
返回与字段键关联的字段值,并向下舍入到最接近的整数。
FLOOR(*)
返回与每个字段键相关联的字段值,在measurement中向下舍入到最接近的整数。
FLOOR() 支持 int64 和 float64 字段值 数据类型。
支持按标签分组的GROUP BY子句,但不支持按时间分组的GROUP BY子句。要在GROUP BY time()子句中使用FLOOR(),请参见高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 楼层 |
|---|
| 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'
| 时间 | 楼层水位 |
|---|
| 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,结果按降序时间戳顺序排列。查询还限制返回的点数为四个,并且偏移结果两个点。
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
| 时间 | 楼层 |
|---|
| 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)
| 时间 | 楼层 |
|---|
| 2019-08-18T00:00:00Z | 2.0000000000 |
| 2019-08-18T00:12:00Z | 2.0000000000 |
| 2019-08-18T00:24:00Z | 2.0000000000 |
直方图()
InfluxQL当前不支持生成直方图。
有关使用存储在InfluxDB中的数据创建直方图的信息,请参见
Flux的 histogram() 函数.
自然对数函数 (LN)
返回字段值的自然对数。
语法
SELECT LN( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
LN(field_key)
返回与 field key 相关联的字段值的自然对数。
LN(*)
返回与测量中每个字段键关联的字段值的自然对数。
LN() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句来 按标签分组,但不支持 GROUP BY 子句来 按时间分组。要使用 LN() 与 GROUP BY time() 子句,请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 自然对数 |
|---|
| 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'
| 时间 | 水位高度 |
|---|
| 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
| 时间 | 自然对数 |
|---|
| 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,结果为按时间戳降序排列。查询还限制返回的点数为四个,并且偏移结果两个点。
高级语法
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分钟计算的平均值 水位的自然对数。
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)
| 时间 | 自然对数 |
|---|
| 2019-08-18T00:00:00Z | 0.8609894161 |
| 2019-08-18T00:12:00Z | 0.8484400650 |
| 2019-08-18T00:24:00Z | 0.8177954851 |
日志()
返回以b为底的字段值的对数。
基本语法
SELECT LOG( [ * | <field_key> ], <b> ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
LOG(field_key, b)
返回与字段键相关联的字段值的对数,底数为b。
LOG(*, b)
返回与measurement中每个字段键相关联的字段值的以b为底的对数。
LOG() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句来 按标签分组,但不支持 GROUP BY 子句来 按时间分组。要使用 LOG() 与 GROUP BY time() 子句,参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 日志 |
|---|
| 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'
| 时间 | 水位日志 |
|---|
| 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 字段键相关的字段值的以 4 为底的对数,在 时间范围 内,介于 2019-08-18T00:00:00Z 和 2019-08-18T00:30:00Z 之间,结果按 降序时间戳顺序 排列。查询还 限制 返回的点数量为四个,并且 偏移 结果两个点。
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
| 时间 | 日志 |
|---|
| 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分钟间隔内计算的mean 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)
| 时间 | 日志 |
|---|
| 2019-08-18T00:00:00Z | 0.6210725804 |
| 2019-08-18T00:12:00Z | 0.6120201371 |
| 2019-08-18T00:24:00Z | 0.5899147454 |
对数2()
返回字段值以2为底的对数。
基本语法
SELECT LOG2( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
LOG2(field_key)
返回与字段键相关的字段值的以2为底的对数。
LOG2(*)
返回与每个字段键相关联的字段值的以2为底的对数,位于measurement中。
LOG2() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,该子句 按标签分组,但不支持 GROUP BY 子句,该子句 按时间分组。要在 GROUP BY time() 子句中使用 LOG2(),请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 对数2 |
|---|
| 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_水位 |
|---|
| 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的对数,适用于h2o_feet度量中的每个数字字段。
h2o_feet度量包含一个数字字段:water_level。
计算与字段键相关的字段值的以2为底的对数并包含多个子句
返回与时间范围内的water_level字段键相关联的字段值的以2为底的对数,时间范围为2019-08-18T00:00:00Z和2019-08-18T00:30:00Z,结果为按时间戳降序排列。查询还限制返回的点数为四个,并且偏移结果两个点。
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
| 时间 | 对数2 |
|---|
| 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分钟间隔计算的均值的以2为底的对数water_level。
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)
| 时间 | 对数2 |
|---|
| 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 从句,即 按时间分组。要在 GROUP BY time() 从句中使用 LOG10(),请参阅 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 以10为底的对数 |
|---|
| 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'
| 时间 | 对数水位 |
|---|
| 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字段键的字段值的以10为底的对数,时间范围为2019-08-18T00:00:00Z到2019-08-18T00:30:00Z,结果按降序时间戳顺序排列。查询还限制返回的点数为四个,并且偏移结果两个点。
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
| 时间 | 以10为底的对数 |
|---|
| 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为底的对数
返回以10为底的mean water_level在12分钟间隔内计算得出的对数。
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)
| 时间 | 以10为底的对数 |
|---|
| 2019-08-18T00:00:00Z | 0.3739229524 |
| 2019-08-18T00:12:00Z | 0.3684728384 |
| 2019-08-18T00:24:00Z | 0.3551640665 |
移动平均值()
返回随后的 字段值 的滚动平均值。
基本语法
SELECT MOVING_AVERAGE( [ * | <field_key> | /<regular_expression>/ ] , <N> ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
MOVING_AVERAGE() 计算一组 N 个后续字段值的滚动平均值。
N 参数是一个整数,并且是必需的。
MOVING_AVERAGE(field_key,N)
返回与 N 字段值相关联的 字段键 的滚动平均值。
MOVING_AVERAGE(/regular_expression/,N)
返回与每个匹配正则表达式的字段键相关的N个字段值的滚动平均值。
MOVING_AVERAGE(*,N)
返回与每个字段键相关联的N个字段值的滚动平均值,来自于measurement。
MOVING_AVERAGE() int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句进行 按标签分组,但不支持 GROUP BY 子句进行 按时间分组。要使用 MOVING_AVERAGE() 与 GROUP BY time() 子句,请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 移动平均 |
|---|
| 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'
| 时间 | 移动平均水位 |
|---|
| 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 |
计算与每个字段键相关的字段值的移动平均值,该字段键与正则表达式匹配
返回每个数值字段的滚动平均值,字段键中包含单词 level 的四个字段值窗口中的 h2o_feet 测量。
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'
| 时间 | 移动平均水位 |
|---|
| 2019-08-18T00:18:00Z | 2.3507500000 |
| 2019-08-18T00:24:00Z | 2.3287500000 |
| 2019-08-18T00:30:00Z | 2.3007500000 |
计算与字段键相关的字段值的移动平均值并包括多个子句
返回在时间范围内对于h2o_feet测量中water_level字段键的两个字段值窗口的滚动平均值,时间为2019-08-18T00:00:00Z到2019-08-18T00:30:00Z,结果以降序时间戳排列。查询还限制返回的点数为两个,并且偏移结果三点。
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
| 时间 | 移动平均 |
|---|
| 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分钟间隔计算的最大水位的两个值窗口的滚动平均值。
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)
| 时间 | 移动平均 |
|---|
| 2019-08-18T00:00:00Z | 2.4935000000 |
| 2019-08-18T00:12:00Z | 2.3610000000 |
| 2019-08-18T00:24:00Z | 2.3050000000 |
非负导数()
返回后续 字段值 之间的非负变化率。
非负变化率包括正变化率和等于零的变化率。
基本语法
SELECT NON_NEGATIVE_DERIVATIVE( [ * | <field_key> | /<regular_expression>/ ] [ , <unit> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
InfluxDB计算后续字段值之间的差异,并将这些结果转换为每个 unit 的变化率。 unit 参数是一个整数,后面跟随一个 duration,这是可选的。如果查询未指定 unit,单位默认为一秒 (1s)。 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。
NON_NEGATIVE_DERIVATIVE(field_key)
返回与字段键相关的后续字段值之间的非负变化率。
NON_NEGATIVE_DERIVATIVE(/regular_expression/)
返回与每个匹配正则表达式的字段键相关的后续字段值之间的非负变化率。
NON_NEGATIVE_DERIVATIVE(*)
返回与每个字段键相关联的后续字段值之间的非负变化率,关联的字段在measurement中。
NON_NEGATIVE_DERIVATIVE() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,以 按标签分组,但不支持 GROUP BY 子句,以 按时间分组。要使用 NON_NEGATIVE_DERIVATIVE() 与 GROUP BY time() 子句,请参见 高级语法。
示例
请查看DERIVATIVE() 文档中的示例。NON_NEGATIVE_DERIVATIVE() 的行为与 DERIVATIVE() 函数相同,但 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。
高级语法
SELECT NON_NEGATIVE_DERIVATIVE(<function> ([ * | <field_key> | /<regular_expression>/ ]) [ , <unit> ] ) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。
查询首先在指定的 GROUP BY time() 区间计算嵌套函数的结果,然后将 NON_NEGATIVE_DERIVATIVE() 函数应用于这些结果。
参数 unit 是一个整数,后面跟着一个 duration,这是可选的。 如果查询未指定 unit,则 unit 默认使用 GROUP BY time() 的时间间隔。 请注意,此行为与 basic syntax’s 的默认行为不同。 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。
NON_NEGATIVE_DERIVATIVE() 支持以下嵌套函数:
COUNT(),
MEAN(),
MEDIAN(),
MODE(),
SUM(),
FIRST(),
LAST(),
MIN(),
MAX(),以及
PERCENTILE()。
示例
请查看DERIVATIVE() 文档中的示例。NON_NEGATIVE_DERIVATIVE() 的行为与 DERIVATIVE() 函数相同,但 NON_NEGATIVE_DERIVATIVE() 仅返回正的变化率或等于零的变化率。
非负差异()
返回后续 字段值 之间减法的非负结果。减法的非负结果包括正差和等于零的差。
基本语法
SELECT NON_NEGATIVE_DIFFERENCE( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
NON_NEGATIVE_DIFFERENCE(field_key)
返回与 字段键 相关的后续字段值之间的非负差。
NON_NEGATIVE_DIFFERENCE(/regular_expression/)
返回与匹配正则表达式的每个字段键相关联的后续字段值之间的非负差值。
NON_NEGATIVE_DIFFERENCE(*)
返回与每个字段键关联的后续字段值之间的非负差。
NON_NEGATIVE_DIFFERENCE() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,它 按标签分组,但不支持 GROUP BY 子句,它 按时间分组。要在 GROUP BY time() 子句中使用 NON_NEGATIVE_DIFFERENCE(),请参见 高级语法。
示例
请查看DIFFERENCE()文档中的例子。NON_NEGATIVE_DIFFERENCE()的行为与DIFFERENCE()函数相同,但NON_NEGATIVE_DIFFERENCE()仅返回正差异或等于零的差异。
高级语法
SELECT NON_NEGATIVE_DIFFERENCE(<function>( [ * | <field_key> | /<regular_expression>/ ] )) FROM_clause [WHERE_clause] GROUP_BY_clause [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
高级语法需要一个 GROUP BY time() 子句 和一个嵌套的 InfluxQL 函数。
查询首先在指定的 GROUP BY time() 间隔计算嵌套函数的结果,然后将 NON_NEGATIVE_DIFFERENCE() 函数应用于这些结果。
NON_NEGATIVE_DIFFERENCE() 支持以下嵌套函数:
COUNT(),
MEAN(),
MEDIAN(),
MODE(),
SUM(),
FIRST(),
LAST(),
MIN(),
MAX(), 和
PERCENTILE()。
示例
请查看DIFFERENCE()文档中的例子。NON_NEGATIVE_DIFFERENCE()的行为与DIFFERENCE()函数相同,但NON_NEGATIVE_DIFFERENCE()仅返回正差异或等于零的差异。
POW()
返回字段值的x次方。
基本语法
SELECT POW( [ * | <field_key> ], <x> ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
POW(field_key, x)
返回与字段关键字相关联的字段值的x次方。
POW(*, x)
返回与measurement中每个字段键相关联的字段值的x次方。
POW() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句按 标签分组,但不支持 GROUP BY 子句按 时间分组。要使用 POW() 与 GROUP BY time() 子句,请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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 测量中乘以 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'
| 时间 | 功率 |
|---|
| 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 |
计算与测量中每个字段键相关联的字段值的四次方
返回每个存储数字值的字段键的字段值,h2o_feet 测量值的四次方。
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'
| 时间 | 水位压力 |
|---|
| 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 |
计算与字段键的四次方相关的字段值,并包含多个子句
返回与 water_level 字段键相关的字段值,这些值在 时间范围 内的四次方在 2019-08-18T00:00:00Z 和 2019-08-18T00:30:00Z 之间,结果按照 降序时间戳顺序 排序。该查询还 限制 返回的点数为四个,并且 偏移 结果两个点。
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
| 时间 | 功率 |
|---|
| 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()。
示例
计算四次方的均值
返回 mean water_level 在每12分钟间隔计算的值,并乘以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)
| 时间 | 功率 |
|---|
| 2019-08-18T00:00:00Z | 31.3106302459 |
| 2019-08-18T00:12:00Z | 29.7777139548 |
| 2019-08-18T00:24:00Z | 26.3424561663 |
舍入()
返回四舍五入到最接近的整数的后续值。
基本语法
SELECT ROUND( [ * | <field_key> ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]
ROUND(field_key)
返回与字段键相关的字段值,四舍五入到最接近的整数。
ROUND(*)
返回与每个字段键相关联的字段值, 在measurement中四舍五入到最接近的整数。
ROUND() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,按 标签分组,但不支持 GROUP BY 子句 [按时间分组](/influxdb/v2/)。要使用 ROUND() 和 GROUP BY time() 子句,请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 轮次 |
|---|
| 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'
| 时间 | 圆形水位 |
|---|
| 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 之间,结果按 降序时间戳顺序 排列。查询还 限制 返回的点数为四个,并且 偏移 结果两个点。
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
| 时间 | 轮次 |
|---|
| 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)
| 时间 | 轮次 |
|---|
| 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(*)
返回与measurement中每个字段键相关的字段值的正弦。
SIN() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,按 标签分组,但不支持 GROUP BY 子句按 时间分组。要将 SIN() 与 GROUP BY time() 子句一起使用,请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 正弦 |
|---|
| 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'
| 时间 | 水位正弦波 |
|---|
| 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 |
计算与字段键相关的字段值的正弦,并包含几个子句
返回与 water_level 字段键相关的字段值的正弦,在 时间范围 内,介于 2019-08-18T00:00:00Z 和 2019-08-18T00:30:00Z 之间,结果为 降序时间戳顺序。查询还 限制 返回的点数为四个,并且 偏移 结果两个点。
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
| 时间 | 正弦 |
|---|
| 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)
| 时间 | 正弦 |
|---|
| 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(*)
返回与measurement中每个字段键相关联的平方根字段值。
SQRT() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句对 按标签分组,但不支持 GROUP BY 子句对 按时间分组。要使用 SQRT() 和 GROUP BY time() 子句,请参见 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 平方根 |
|---|
| 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'
| 时间 | 水位平方根 |
|---|
| 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 |
计算与字段键相关的字段值的平方根,并包含多个子句
返回与 water_level 字段键相关的字段值的平方根,时间范围为time range在 2019-08-18T00:00:00Z 和 2019-08-18T00:30:00Z 之间,结果按descending timestamp order排序。查询还limits返回的点数为四个,并且offsets结果为两个点。
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
| 时间 | 平方根 |
|---|
| 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分钟间隔内计算的mean 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)
| 时间 | 平方根 |
|---|
| 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(*)
返回与measurement中每个字段键相关联的字段值的切线。
TAN() 支持 int64 和 float64 字段值 数据类型。
支持 GROUP BY 子句,按标签分组,但不支持 GROUP BY 子句,按时间分组。要使用 TAN() 与 GROUP BY time() 子句,请参阅 高级语法。
示例
下面的示例使用了NOAA水样数据的以下子样本:
SELECT "water_level" FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' AND "location" = 'santa_monica'
| 时间 | 水位 |
|---|
| 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'
| 时间 | 正切 |
|---|
| 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'
| 时间 | 水位倾斜 |
|---|
| 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 |
计算与字段键相关的字段值的切线并包括多个子句
返回与时间范围内的water_level字段键相关的场值的正切,范围在2019-08-18T00:00:00Z和2019-08-18T00:30:00Z之间,结果为降序时间戳顺序。该查询还限制返回的点数为四个,并且偏移结果两个点。
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
| 时间 | 正切 |
|---|
| 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分钟间隔内计算的平均水位的切线。
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)
| 时间 | 正切 |
|---|
| 2019-08-18T00:00:00Z | -0.9815600413 |
| 2019-08-18T00:12:00Z | -1.0412271461 |
| 2019-08-18T00:24:00Z | -1.2000844348 |