Influxdb+Collectd——InfluxDB基本操作2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Influxdb+Collectd——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 字段的和。
以上是关于Influxdb+Collectd——InfluxDB基本操作2的主要内容,如果未能解决你的问题,请参考以下文章
Grafanacollectd 和 InfluxDB 打造现代监控系统配置篇
Influxdb+Collectd——InfluxDB基本操作2
Influxdb安装启动influxdb控制台常用命令Influx命令使用Influx-sql使用举例Influxdb的数据格式Influxdb客户端工具