InfuxDB函數(shù)說明

1. 聚合函數(shù)

1.1 COUNT()

描述:返回單個(gè)字段中非空(non-null)值的數(shù)量
語(yǔ)法

SELECT COUNT(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

例子:

  • 計(jì)算字段water_level非空值的數(shù)量
> SELECT COUNT("water_level") FROM "h2o_feet"
name: h2o_feet
--------------
time                           count
1970-01-01T00:00:00Z     15258
  • 計(jì)算字段water_level非空值的數(shù)量,按時(shí)間間隔分組
> SELECT COUNT("water_level") FROM "h2o_feet" WHERE time >= '2015-08-18T00:00:00Z' AND time < '2015-09-18T17:00:00Z' GROUP BY time(4d)
name: h2o_feet
--------------
time                           count
2015-08-17T00:00:00Z     1440
2015-08-21T00:00:00Z     1920
2015-08-25T00:00:00Z     1920
2015-08-29T00:00:00Z     1920
2015-09-02T00:00:00Z     1915
2015-09-06T00:00:00Z     1920
2015-09-10T00:00:00Z     1920
2015-09-14T00:00:00Z     1920
2015-09-18T00:00:00Z     335
  • h2o_feet有兩個(gè)數(shù)據(jù)字段level descriptionwater_level,可以通過count(*) 統(tǒng)計(jì)所有的字段
> SELECT COUNT(*) FROM "h2o_feet"
name: h2o_feet
--------------
time                   count_level description      count_water_level
1970-01-01T00:00:00Z   15258                       15258

1.2 DISTINCT()

說明:返回字段的唯一值(去重)
語(yǔ)法

SELECT DISTINCT(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

例子:

  • 全表單字段
> SELECT DISTINCT("level description") FROM "h2o_feet"
name: h2o_feet
--------------
time                           distinct
1970-01-01T00:00:00Z     between 6 and 9 feet
1970-01-01T00:00:00Z     below 3 feet
1970-01-01T00:00:00Z     between 3 and 6 feet
1970-01-01T00:00:00Z     at or greater than 9 feet
  • 分組單字段
> SELECT DISTINCT("level description") FROM "h2o_feet" GROUP BY "location"
name: h2o_feet
tags: location=coyote_creek
time                            distinct
----                            --------
1970-01-01T00:00:00Z      between 6 and 9 feet
1970-01-01T00:00:00Z      between 3 and 6 feet
1970-01-01T00:00:00Z      below 3 feet
1970-01-01T00:00:00Z      at or greater than 9 feet

name: h2o_feet
tags: location=santa_monica
time                            distinct
----                            --------
1970-01-01T00:00:00Z      below 3 feet
1970-01-01T00:00:00Z      between 3 and 6 feet
1970-01-01T00:00:00Z      between 6 and 9 feet
  • 多字段
> SELECT DISTINCT(*) FROM "h2o_feet" LIMIT 5
name: h2o_feet
--------------
time                   distinct_level description    distinct_water_level
1970-01-01T00:00:00Z   below 3 feet                  2.064
1970-01-01T00:00:00Z   between 6 and 9 feet          8.12
1970-01-01T00:00:00Z                                 2.116
1970-01-01T00:00:00Z                                 8.005
1970-01-01T00:00:00Z                                 2.028

1.3 MEAN()

說明:算術(shù)平均值,字段類型必須為整型(int64)或浮點(diǎn)型(float64)
語(yǔ)法

SELECT MEAN(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

例子:

  • 時(shí)間在2016-08-18T00:00:00Z2016-09-18T17:00:00Z之間,按4天(time(4d))進(jìn)行分組
> SELECT MEAN("water_level") FROM "h2o_feet" WHERE time >= '2015-08-18T00:00:00Z' AND time < '2015-09-18T17:00:00Z' GROUP BY time(4d)
name: h2o_feet
--------------
time                     mean
2016-08-17T00:00:00Z     4.322029861111125
2016-08-21T00:00:00Z     4.251395512375667
2016-08-25T00:00:00Z     4.285036458333324
2016-08-29T00:00:00Z     4.469495801899061
2016-09-02T00:00:00Z     4.382785378590083
2016-09-06T00:00:00Z     4.28849666349042
...

1.4 MEDIAN()

說明:返回中位數(shù),字段類型必須為整型(int64)或浮點(diǎn)型(float64),*表示所有字段
語(yǔ)法

SELECT MEDIAN(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

例子:

> SELECT MEDIAN("water_level") FROM "h2o_feet" WHERE time >= '2015-08-18T00:00:00Z' AND time < '2015-08-18T00:36:00Z' GROUP BY "location"
name: h2o_feet
tags: location = coyote_creek
time                           median
----                           ------
2015-08-18T00:00:00Z     7.8245

name: h2o_feet
tags: location = santa_monica
time                           median
----                           ------
2015-08-18T00:00:00Z     2.0575

1.5 MODE()

說明:返回最頻繁的(出現(xiàn)頻率最高的)值,如果有多個(gè)頻率相同的值則返回第一個(gè)(最早的)
語(yǔ)法

SELECT MODE(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

例子:

> SELECT MODE("water_level") FROM "h2o_feet" WHERE time >= '2015-08-18T00:00:00Z' AND time < '2015-08-18T00:36:00Z' GROUP BY "location"
name: h2o_feet
tags: location = coyote_creek
time                           mode
----                           ------
2015-08-18T00:00:00Z     7

name: h2o_feet
tags: location = santa_monica
time                           mode
----                           ------
2015-08-18T00:00:00Z     2

1.5 SPREAD()

說明:返回字段的最小值和最大值之間的差值。 該字段必須是int64float64類型; *表示表中的所有int64float64字段。

語(yǔ)法

SELECT SPREAD(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

例子:

> SELECT SPREAD("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-09-18T17:00:00Z' AND time < '2015-09-18T20:30:00Z' GROUP BY time(30m)
name: h2o_feet
--------------
time                            spread
2015-09-18T17:00:00Z      0.16699999999999982
2015-09-18T17:30:00Z      0.5469999999999997
2015-09-18T18:00:00Z      0.47499999999999964
2015-09-18T18:30:00Z      0.2560000000000002
2015-09-18T19:00:00Z      0.23899999999999988
2015-09-18T19:30:00Z      0.1609999999999996
2015-09-18T20:00:00Z      0.16800000000000015

1.6 SUM()

說明:返回單個(gè)字段中所有值的總和。 該字段必須是int64float64類型; *表示表中的所有int64float64字段。

語(yǔ)法

SELECT SUM(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

例子:

> SELECT SUM("water_level") FROM "h2o_feet" WHERE time >= '2015-08-18T00:00:00Z' AND time < '2015-09-18T17:00:00Z' GROUP BY time(5d)
name: h2o_feet
--------------
time                           sum
2015-08-18T00:00:00Z     10334.908999999983
2015-08-23T00:00:00Z     10113.356999999995
2015-08-28T00:00:00Z     10663.683000000006
2015-09-02T00:00:00Z     10451.321
2015-09-07T00:00:00Z     10871.817999999994
2015-09-12T00:00:00Z     11459.00099999999
2015-09-17T00:00:00Z     3627.762000000003

1.7 STDDEV()

說明:返回單個(gè)字段中的值的標(biāo)準(zhǔn)偏差。 該字段必須是int64float64類型。
語(yǔ)法

SELECT STDDEV(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

2. 選擇器函數(shù)

2.1 BOTTOM()

說明:返回單個(gè)字段中最小的N個(gè)值。 字段類型必須為int64float64。當(dāng)同步指定tag時(shí),設(shè)定tag的記錄數(shù)是X,如果N>X時(shí)只返回X條記錄,每個(gè)tag一條,否則返回最小的N條數(shù)據(jù)。
語(yǔ)法

SELECT BOTTOM(<field_key>[,<tag_keys>],<N>)[,<tag_keys>] FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

2.2 FIRST()

說明:返回單個(gè)字段的最舊值(由時(shí)間戳確定)。
語(yǔ)法

SELECT FIRST(<field_key>)[,<tag_key(s)>] FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

2.3 LAST()

說明:返回單個(gè)字段的最新值(由時(shí)間戳確定)。

SELECT LAST(<field_key>)[,<tag_key(s)>] FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

2.4 MAX()

說明:返回單個(gè)字段中的最大值。 該字段必須是int64,float64boolean。
語(yǔ)法

SELECT MAX(<field_key>)[,<tag_key(s)>] FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

2.5 MIN()

說明:返回單個(gè)字段中的最小值。 該字段必須是int64,float64boolean。
語(yǔ)法

SELECT MIN(<field_key>)[,<tag_key(s)>] FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

2.6 PERCENTILE()

說明:返回單個(gè)字段的排序值的第N個(gè)百分位數(shù)值。 該字段必須是int64float64類型。 百分位數(shù)N必須是0100之間的整數(shù)或浮點(diǎn)數(shù),包括0100。算法找度娘。
語(yǔ)法

SELECT PERCENTILE(<field_key>, <N>)[,<tag_key(s)>] FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

2.7 SAMPLE()

說明:返回指定字段的N個(gè)點(diǎn)的隨機(jī)抽樣。 InfluxDB使用儲(chǔ)層采樣來(lái)生成隨機(jī)點(diǎn)。 SAMPLE()支持所有字段類型。
語(yǔ)法

SELECT SAMPLE(<field_key>,<N>) FROM_clause [WHERE_clause] [GROUP_BY_clause]

2.8 TOP()

說明:返回單個(gè)字段中最大的N個(gè)值。 字段類型必須為int64float64。
語(yǔ)法

SELECT TOP(<field_key>[,<tag_keys>],<N>)[,<tag_keys>] FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]

3. 轉(zhuǎn)換函數(shù)

3.1 CUMULATIVE_SUM()

說明:返回單個(gè)字段的連續(xù)字段值的累積和。 字段類型必須為int64float64。
基礎(chǔ)語(yǔ)法

SELECT CUMULATIVE_SUM(<field_key>) FROM_clause WHERE_clause

高級(jí)語(yǔ)法
支持如下嵌套函數(shù)類型:COUNT()
, MEAN()
, MEDIAN()
, MODE()
, SUM()
, FIRST()
, LAST()
, MIN()
,MAX()
, and PERCENTILE()
.

SELECT CUMULATIVE_SUM(<function>(<field_key>)) FROM_clause WHERE_clause GROUP BY time(<interval>)[,<tag_key>]

例子

##原數(shù)據(jù)
> SELECT "water_level" FROM "h2o_feet" WHERE time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:30:00Z' AND "location" = 'santa_monica'
name: h2o_feet
time                   water_level
----                   -----------
2015-08-18T00:00:00Z   2.064
2015-08-18T00:06:00Z   2.116
2015-08-18T00:12:00Z   2.028
2015-08-18T00:18:00Z   2.126
2015-08-18T00:24:00Z   2.041
2015-08-18T00:30:00Z   2.051
##轉(zhuǎn)換后數(shù)據(jù)
> SELECT CUMULATIVE_SUM("water_level") FROM "h2o_feet" WHERE time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:30:00Z' AND "location" = 'santa_monica'
name: h2o_feet
time                   cumulative_sum
----                   --------------
2015-08-18T00:00:00Z   2.064
2015-08-18T00:06:00Z   4.18
2015-08-18T00:12:00Z   6.208
2015-08-18T00:18:00Z   8.334
2015-08-18T00:24:00Z   10.375
2015-08-18T00:30:00Z   12.426

3.2 DERIVATIVE()

說明:返回系列中單個(gè)字段中值的變化率。 InfluxDB計(jì)算時(shí)間域值之間的差異,并將這些結(jié)果轉(zhuǎn)換為單位變化率。 單位參數(shù)是可選的,如果未指定,則默認(rèn)為1秒(1秒)。
基礎(chǔ)語(yǔ)法

SELECT DERIVATIVE(<field_key>, [<unit>]) FROM <measurement_name> [WHERE <stuff>]

單位unit可以有如下值:

  • u or μ微妙(microseconds)
  • ms 毫秒(milliseconds)
  • s 秒(seconds)
  • m 分(minutes)
  • h 時(shí)(hours)
  • d 天(days)
  • w 周(weeks)

使用聚合函數(shù)語(yǔ)法

SELECT DERIVATIVE(AGGREGATION_FUNCTION(<field_key>),[<unit>]) FROM <measurement_name> WHERE <stuff> GROUP BY time(<aggregation_interval>)

例子

#原數(shù)據(jù),兩條數(shù)據(jù)直接間隔6分鐘
> SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' LIMIT 5
name: h2o_feet
--------------
time                           water_level
2015-08-18T00:00:00Z     2.064
2015-08-18T00:06:00Z     2.116
2015-08-18T00:12:00Z     2.028
2015-08-18T00:18:00Z     2.126
2015-08-18T00:24:00Z     2.041
2015-08-18T00:30:00Z     2.051

#不指定單位時(shí),默認(rèn)為每秒變化率,如第一條記錄(`(2.116-2.064)/(6m/1s)`)
> SELECT DERIVATIVE("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' LIMIT 5
name: h2o_feet
--------------
time                           derivative
2015-08-18T00:06:00Z     0.00014444444444444457
2015-08-18T00:12:00Z     -0.00024444444444444465
2015-08-18T00:18:00Z     0.0002722222222222218
2015-08-18T00:24:00Z     -0.000236111111111111
2015-08-18T00:30:00Z     2.777777777777842e-05

#每6分鐘變化率,如第一條(`(2.116-2.064)/(6m/6m)`)
> SELECT DERIVATIVE("water_level",6m) FROM "h2o_feet" WHERE "location" = 'santa_monica' LIMIT 5
name: h2o_feet
--------------
time                           derivative
2015-08-18T00:06:00Z     0.052000000000000046
2015-08-18T00:12:00Z     -0.08800000000000008
2015-08-18T00:18:00Z     0.09799999999999986
2015-08-18T00:24:00Z     -0.08499999999999996
2015-08-18T00:30:00Z     0.010000000000000231

#每12分鐘變化率,如第一條(`(2.116-2.064)/(6m/12m)`)
> SELECT DERIVATIVE("water_level",12m) FROM "h2o_feet" WHERE "location" = 'santa_monica' LIMIT 5
name: h2o_feet
--------------
time                           derivative
2015-08-18T00:06:00Z     0.10400000000000009
2015-08-18T00:12:00Z     -0.17600000000000016
2015-08-18T00:18:00Z     0.19599999999999973
2015-08-18T00:24:00Z     -0.16999999999999993
2015-08-18T00:30:00Z     0.020000000000000462

#每隔12分鐘最大值
> SELECT MAX("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time < '2015-08-18T00:36:00Z' GROUP BY time(12m)
name: h2o_feet
--------------
time                           max
2015-08-18T00:00:00Z     2.116
2015-08-18T00:12:00Z     2.126
2015-08-18T00:24:00Z     2.051
#每隔12分鐘變化率,如第一條(`(2.126-2.116)/(12m-12m)`),帶group by 語(yǔ)句時(shí)unit默認(rèn)為time函數(shù)指定的間隔
> SELECT DERIVATIVE(MAX("water_level")) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time < '2015-08-18T00:36:00Z' GROUP BY time(12m)
name: h2o_feet
--------------
time                           derivative
2015-08-18T00:12:00Z     0.009999999999999787
2015-08-18T00:24:00Z     -0.07499999999999973

#每隔18分鐘匯總數(shù)據(jù)
> SELECT SUM("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time < '2015-08-18T00:36:00Z' GROUP BY time(18m)
name: h2o_feet
--------------
time                           sum
2015-08-18T00:00:00Z     6.208
2015-08-18T00:18:00Z     6.218

#每隔18分鐘匯總數(shù)據(jù)沒6分鐘變化率,如第一條(`(6.218-6.208)/(18m/6m)`)
> SELECT DERIVATIVE(SUM("water_level"),6m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time < '2015-08-18T00:36:00Z' GROUP BY time(18m)
name: h2o_feet
--------------
time                           derivative
2015-08-18T00:18:00Z     0.0033333333333332624

3.3 DIFFERENCE()

說明:返回單個(gè)字段中連續(xù)的時(shí)間順序值之間的差異。 字段類型必須為int64float64。
基礎(chǔ)語(yǔ)法

SELECT DIFFERENCE(<field_key>) FROM <measurement_name> [WHERE <stuff>]

高級(jí)語(yǔ)法

SELECT DIFFERENCE(<function>(<field_key>)) FROM <measurement_name> WHERE <stuff> GROUP BY time(<time_interval>)

支持的內(nèi)嵌函數(shù)包括:COUNT()
, MEAN()
, MEDIAN()
, SUM()
, FIRST()
,LAST()
, MIN()
, MAX()
, and PERCENTILE()
。
例子

#帶處理數(shù)據(jù)
> SELECT "water_level" FROM "h2o_feet" WHERE "location"='santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z'
name: h2o_feet
--------------
time                            water_level
2015-08-18T00:00:00Z      2.064
2015-08-18T00:06:00Z      2.116
2015-08-18T00:12:00Z      2.028
2015-08-18T00:18:00Z      2.126
2015-08-18T00:24:00Z      2.041
2015-08-18T00:30:00Z      2.051
2015-08-18T00:36:00Z      2.067
#處理后
> SELECT DIFFERENCE("water_level") FROM "h2o_feet" WHERE "location"='santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z'
name: h2o_feet
--------------
time                            difference
2015-08-18T00:06:00Z      0.052000000000000046
2015-08-18T00:12:00Z      -0.08800000000000008
2015-08-18T00:18:00Z      0.09799999999999986
2015-08-18T00:24:00Z      -0.08499999999999996
2015-08-18T00:30:00Z      0.010000000000000231
2015-08-18T00:36:00Z      0.016000000000000014
#分組統(tǒng)計(jì)后數(shù)據(jù)
> SELECT MIN("water_level") FROM "h2o_feet" WHERE "location"='santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z' GROUP BY time(12m)
name: h2o_feet
--------------
time                            min
2015-08-18T00:00:00Z    2.064
2015-08-18T00:12:00Z    2.028
2015-08-18T00:24:00Z    2.041
2015-08-18T00:36:00Z    2.067
#分組統(tǒng)計(jì)處理后數(shù)據(jù)
> SELECT DIFFERENCE(MIN("water_level")) FROM "h2o_feet" WHERE "location"='santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z' GROUP BY time(12m)
name: h2o_feet
--------------
time                            difference
2015-08-18T00:12:00Z      -0.03600000000000003
2015-08-18T00:24:00Z      0.0129999999999999
2015-08-18T00:36:00Z      0.026000000000000245

3.4 ELAPSED()

說明:返回單個(gè)字段中后續(xù)時(shí)間戳之間的差異。 持續(xù)時(shí)間(unit)參數(shù)是可選的,如果未指定,則默認(rèn)為一納秒。
語(yǔ)法

SELECT ELAPSED(<field_key>, <unit>) FROM <measurement_name> [WHERE <stuff>]

例子

#原數(shù)據(jù)
> SELECT "water_level" FROM "h2o_feet" WHERE "location"='santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z'
name: h2o_feet
--------------
time                            water_level
2015-08-18T00:00:00Z      2.064
2015-08-18T00:06:00Z      2.116
2015-08-18T00:12:00Z      2.028
2015-08-18T00:18:00Z      2.126
2015-08-18T00:24:00Z      2.041
#每?jī)蓚€(gè)`water_level`數(shù)據(jù)記錄直接的時(shí)間間隔是6分鐘(即360000000000納秒),elapsed = 6m/1納秒
> SELECT ELAPSED("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:24:00Z'
name: h2o_feet
--------------
time                            elapsed
2015-08-18T00:06:00Z      360000000000
2015-08-18T00:12:00Z      360000000000
2015-08-18T00:18:00Z      360000000000
2015-08-18T00:24:00Z      360000000000
#每?jī)蓚€(gè)`water_level`數(shù)據(jù)記錄直接的時(shí)間間隔是6分鐘,elapsed = 6m/1m
> SELECT ELAPSED("water_level",1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:24:00Z'
name: h2o_feet
--------------
time                            elapsed
2015-08-18T00:06:00Z      6
2015-08-18T00:12:00Z      6
2015-08-18T00:18:00Z      6
2015-08-18T00:24:00Z      6
#每?jī)蓚€(gè)`water_level`數(shù)據(jù)記錄直接的時(shí)間間隔是6分鐘,elapsed = 6m / 1h。因?yàn)?h>6m,所以數(shù)據(jù)為0
> SELECT ELAPSED("water_level",1h) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:24:00Z'
name: h2o_feet
--------------
time                            elapsed
2015-08-18T00:06:00Z      0
2015-08-18T00:12:00Z      0
2015-08-18T00:18:00Z      0
2015-08-18T00:24:00Z      0

3.5 MOVING_AVERAGE()

說明:返回單個(gè)字段的連續(xù)window個(gè)字段值的滑動(dòng)平均值。 字段類型必須為int64float64。算法找度娘
基礎(chǔ)語(yǔ)法

SELECT MOVING_AVERAGE(<field_key>,<window>) FROM <measurement_name> [WHERE <stuff>]

高級(jí)語(yǔ)法

SELECT MOVING_AVERAGE(<function>(<field_key>),<window>) FROM <measurement_name> WHERE <stuff> GROUP BY time(<time_interval>)

支持的函數(shù)包括:COUNT()
, MEAN()
, MEDIAN()
, SUM()
, FIRST()
,LAST()
, MIN()
, MAX()
, and PERCENTILE()
。
例子

> SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z'
name: h2o_feet
--------------
time                            water_level
2015-08-18T00:00:00Z      2.064
2015-08-18T00:06:00Z      2.116
2015-08-18T00:12:00Z      2.028
2015-08-18T00:18:00Z      2.126
2015-08-18T00:24:00Z      2.041
2015-08-18T00:30:00Z      2.051
2015-08-18T00:36:00Z      2.067
#第一條(`(2.116+2.064)/2`),第二條(`(2.028+2.116)/2`)
> SELECT MOVING_AVERAGE("water_level",2) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z'
name: h2o_feet
--------------
time                            moving_average
2015-08-18T00:06:00Z      2.09
2015-08-18T00:12:00Z      2.072
2015-08-18T00:18:00Z      2.077
2015-08-18T00:24:00Z      2.0835
2015-08-18T00:30:00Z      2.0460000000000003
2015-08-18T00:36:00Z      2.059
#分組統(tǒng)計(jì)
> SELECT MIN("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z' GROUP BY time(12m)
name: h2o_feet
--------------
time                            min
2015-08-18T00:00:00Z      2.064
2015-08-18T00:12:00Z      2.028
2015-08-18T00:24:00Z      2.041
2015-08-18T00:36:00Z      2.067
#分組統(tǒng)計(jì)滑動(dòng)平均值,第一條(`(2.064+2.028)/2`)
> SELECT MOVING_AVERAGE(MIN("water_level"),2) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:36:00Z' GROUP BY time(12m)
name: h2o_feet
--------------
time                            moving_average
2015-08-18T00:12:00Z      2.0460000000000003
2015-08-18T00:24:00Z      2.0345000000000004
2015-08-18T00:36:00Z      2.0540000000000003

3.6 NON_NEGATIVE_DERIVATIVE()

說明:返回系列中單個(gè)字段中的值的非負(fù)變化率。 InfluxDB計(jì)算時(shí)間域值之間的差異,并將這些結(jié)果轉(zhuǎn)換為單位變化率。 單位參數(shù)是可選的,如果未指定,則默認(rèn)為1秒(1秒)。改函數(shù)和DERIVATIVE()函數(shù)類似,只是返回其正數(shù)結(jié)果。
語(yǔ)法

SELECT NON_NEGATIVE_DERIVATIVE(<field_key>, [<unit>]) FROM <measurement_name> [WHERE <stuff>]

SELECT NON_NEGATIVE_DERIVATIVE(AGGREGATION_FUNCTION(<field_key>),[<unit>]) FROM <measurement_name> WHERE <stuff> GROUP BY time(<aggregation_interval>)

4. 預(yù)測(cè)函數(shù)

4.1 HOLT_WINTERS()

說明:霍爾特指數(shù)平滑法,該字段必須是int64float64類型。算法找度娘。
語(yǔ)法

SELECT HOLT_WINTERS(FUNCTION(<field_key>),<N>,<S>) FROM <measurement_name> WHERE <stuff> GROUP BY time(<interval>)[,<stuff>]

SELECT HOLT_WINTERS_WITH_FIT(FUNCTION(<field_key>),<N>,<S>) FROM <measurement_name> WHERE <stuff> GROUP BY time(<interval>)[,<stuff>]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 人生苦多,快來(lái) Kotlin ,快速學(xué)習(xí)Kotlin! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,686評(píng)論 9 118
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,188評(píng)論 1 10
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,536評(píng)論 19 139
  • 最近在寫個(gè)性化推薦的論文,經(jīng)常用到Python來(lái)處理數(shù)據(jù),被pandas和numpy中的數(shù)據(jù)選取和索引問題繞的比較...
    shuhanrainbow閱讀 4,700評(píng)論 6 19
  • “人的心在舒服區(qū),心智不會(huì)成長(zhǎng)”,當(dāng)我在寫作群里說最近寫文章有點(diǎn)兒煩時(shí),一位筆友對(duì)我這樣說。 最近寫文章有點(diǎn)糾結(jié),...
    紅雲(yún)說口才閱讀 269評(píng)論 0 2

友情鏈接更多精彩內(nèi)容