加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

InfluxDB学习之InfluxDB常用函数(一)聚合类函数

发布时间:2020-12-14 02:01:10 所属栏目:百科 来源:网络整理
导读:1)count()函数 返回一个(field)字段中的非空值的数量。 语法: SELECTCOUNT(field_key)FROMmeasurement_name[WHEREstuff][GROUPBYstuff] 示例: SELECTCOUNT(water_level)FROMh2o_feetname:h2o_feet--------------timecount1970-01-01T00:00:00Z15258 说

1)count()函数

返回一个(field)字段中的非空值的数量。

语法:

SELECTCOUNT(<field_key>)FROM<measurement_name>[WHERE<stuff>][GROUPBY<stuff>]

示例:

>SELECTCOUNT(water_level)FROMh2o_feet
name:h2o_feet--------------timecount1970-01-01T00:00:00Z15258

说明 water_level这个字段在h2o_feet表中共有15258条数据。

注意:InfluxDB中的函数如果没有指定时间的话,会默认以 epoch 0 (1970-01-01T00:00:00Z) 作为时间。

可以在where 中加入时间条件,如下:

>SELECTCOUNT(water_level)FROMh2o_feetWHEREtime>='2015-08-18T00:00:00Z'ANDtime<'2015-09-18T17:00:00Z'GROUPBYtime(4d)
name:h2o_feet--------------timecount2015-08-17T00:00:00Z14402015-08-21T00:00:00Z19202015-08-25T00:00:00Z19202015-08-29T00:00:00Z19202015-09-02T00:00:00Z19152015-09-06T00:00:00Z19202015-09-10T00:00:00Z19202015-09-14T00:00:00Z19202015-09-18T00:00:00Z335

这样结果中会包含时间结果。

2)DISTINCT()函数

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

语法:

SELECTDISTINCT(<field_key>)FROM<measurement_name>[WHERE<stuff>][GROUPBY<stuff>]

使用示例

>SELECTDISTINCT("leveldescription")FROMh2o_feet
name:h2o_feet--------------timedistinct1970-01-01T00:00:00Zbetween6and9feet1970-01-01T00:00:00Zbelow3feet1970-01-01T00:00:00Zbetween3and6feet1970-01-01T00:00:00Zatorgreaterthan9feet

这个例子显示leveldescription这个字段共有四个值,然后将其显示了出来,时间为默认时间。

3)MEAN() 函数

返回一个字段(field)中的值的算术平均值(平均值)。字段类型必须是长整型或float64。

语法格式:

SELECTMEAN(<field_key>)FROM<measurement_name>[WHERE<stuff>][GROUPBY<stuff>]

使用示例

>SELECTMEAN(water_level)FROMh2o_feet
name:h2o_feet--------------timemean1970-01-01T00:00:00Z4.286791371454075

说明water_level字段的平均值为4.286791371454075

时间为默认时间,当然,你也可以加入where条件。

4)MEDIAN()函数

从单个字段(field)中的排序值返回中间值(中位数)。字段值的类型必须是长整型或float64格式。

语法:

SELECTMEDIAN(<field_key>)FROM<measurement_name>[WHERE<stuff>][GROUPBY<stuff>]

使用示例

>SELECTMEDIAN(water_level)fromh2o_feet
name:h2o_feet--------------timemedian1970-01-01T00:00:00Z4.124

说明表中 water_level字段的中位数是 4.124

5)SPREAD()函数

返回字段的最小值和最大值之间的差值。数据的类型必须是长整型或float64。

语法:

SELECTSPREAD(<field_key>)FROM<measurement_name>[WHERE<stuff>][GROUPBY<stuff>]

使用示例

>SELECTSPREAD(water_level)FROMh2o_feet
name:h2o_feet--------------timespread1970-01-01T00:00:00Z10.574

6)SUM()函数

返回一个字段中的所有值的和。字段的类型必须是长整型或float64。

语法:

SELECTSUM(<field_key>)FROM<measurement_name>[WHERE<stuff>][GROUPBY<stuff>]

使用示例:

>SELECTSUM(water_level)FROMh2o_feet
name:h2o_feet--------------timesum1970-01-01T00:00:00Z67777.66900000002

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读