Influxdb+Collectd(3)——InfluxDB基本操作2

1)count()函數

返回一個(field)字段中的非空值的數量。

語法:

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

示例:

>SELECT COUNT(water_level) FROM h2o_feet
name: h2o_feet--------------time                           count1970-01-01T00:00:00Z     15258

說明 water_level這個字段在 h2o_feet表中共有15258條數據。

注意:InfluxDB中的函數如果沒有指定時間的話,會默認以 epoch 0 (1970-01-01T00:00:00Z) 作爲時間。

可以在where 中加入時間條件,如下:

> 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                           count2015-08-17T00:00:00Z     14402015-08-21T00:00:00Z     19202015-08-25T00:00:00Z     19202015-08-29T00:00:00Z     19202015-09-02T00:00:00Z     19152015-09-06T00:00:00Z     19202015-09-10T00:00:00Z     19202015-09-14T00:00:00Z     19202015-09-18T00:00:00Z     335

這樣結果中會包含時間結果。

2)DISTINCT()函數

返回一個字段(field)的唯一值。

語法:

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

使用示例

> SELECT DISTINCT("level description") FROM h2o_feet
name: h2o_feet--------------time                           distinct1970-01-01T00:00:00Z     between 6 and 9 feet1970-01-01T00:00:00Z     below 3 feet1970-01-01T00:00:00Z     between 3 and 6 feet1970-01-01T00:00:00Z     at or greater than 9 feet

這個例子顯示level description這個字段共有四個值,然後將其顯示了出來,時間爲默認時間。

3)MEAN() 函數

返回一個字段(field)中的值的算術平均值(平均值)。字段類型必須是長整型或float64。

語法格式:

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

使用示例

> SELECT MEAN(water_level) FROM h2o_feet
name: h2o_feet--------------time                           mean1970-01-01T00:00:00Z     4.286791371454075

說明water_level字段的平均值爲4.286791371454075

時間爲默認時間,當然,你也可以加入where條件。

4)MEDIAN()函數

從單個字段(field)中的排序值返回中間值(中位數)。字段值的類型必須是長整型或float64格式。

語法:

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

使用示例

> SELECT MEDIAN(water_level) from h2o_feet
name: h2o_feet--------------time                           median1970-01-01T00:00:00Z     4.124

說明表中 water_level字段的中位數是 4.124

5)SPREAD()函數

返回字段的最小值和最大值之間的差值。數據的類型必須是長整型或float64。

語法:

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

使用示例

> SELECT SPREAD(water_level) FROM h2o_feet
name: h2o_feet--------------time                            spread1970-01-01T00:00:00Z      10.574

6)SUM()函數

返回一個字段中的所有值的和。字段的類型必須是長整型或float64。

語法:

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

使用示例:

> SELECT SUM(water_level) FROM h2o_feet
name: h2o_feet--------------time                           sum1970-01-01T00:00:00Z     67777.66900000002

此語句計算出了 h2o_feet表中 所有 water_level 字段的和。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章