10.InfluxDB学习之InfluxDB常用函数(三)变换类函数

转自:https://www.yisu.com/zixun/36847.html

10.1.DERIVATIVE()函数

作用:返回一个字段在一个series中的变化率。

InfluxDB会计算按照时间进行排序的字段值之间的差异,并将这些结果转化为单位变化率。其中,单位可以指定,默认为1s。

语法:

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

其中,unit取值可以为以下几种:
u --microsecondss --secondsm --minutesh --hoursd --daysw --weeks

DERIVATIVE()函数还可以在GROUP BY time()的条件下与聚合函数嵌套使用,格式如下:

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

示例:
假设location = santa_monica 条件下数据有以下几条:

name: h3o_feet--------------time                           water_level2015-08-18T00:00:00Z     2.0642015-08-18T00:06:00Z     2.1162015-08-18T00:12:00Z     2.0282015-08-18T00:18:00Z     2.1262015-08-18T00:24:00Z     2.0412015-08-18T00:30:00Z     2.051

计算每一秒的变化率:

SELECT DERIVATIVE(water_level) FROM h3o_feet WHERE location = 'santa_monica' LIMIT 5;
name: h3o_feet--------------time                           derivative2015-08-18T00:06:00Z     0.000144444444444444572015-08-18T00:12:00Z     -0.000244444444444444652015-08-18T00:18:00Z     0.00027222222222222182015-08-18T00:24:00Z     -0.0002361111111111112015-08-18T00:30:00Z     2.777777777777842e-05

第一行数据的计算公式为(2.116 - 2.064) / (360s / 1s)

计算每六分钟的变化率:

SELECT DERIVATIVE(water_level,6m) FROM h3o_feet WHERE location = 'santa_monica' LIMIT 5;
name: h3o_feet--------------time                           derivative2015-08-18T00:06:00Z     0.0520000000000000462015-08-18T00:12:00Z     -0.088000000000000082015-08-18T00:18:00Z     0.097999999999999862015-08-18T00:24:00Z     -0.084999999999999962015-08-18T00:30:00Z     0.010000000000000231

第一行数据的计算过程如下:(2.116 - 2.064) / (6m / 6m)

计算每12分钟的变化率:

SELECT DERIVATIVE(water_level,12m) FROM h3o_feet WHERE location = 'santa_monica' LIMIT 5;
name: h3o_feet--------------time                           derivative2015-08-18T00:06:00Z     0.104000000000000092015-08-18T00:12:00Z     -0.176000000000000162015-08-18T00:18:00Z     0.195999999999999732015-08-18T00:24:00Z     -0.169999999999999932015-08-18T00:30:00Z     0.020000000000000462

第一行数据计算过程为:(2.116 - 2.064 / (6m / 12m))

计算每12分钟最大值的变化率

> SELECT DERIVATIVE(MAX(water_level)) FROM h3o_feet WHERE location = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' AND time < '2015-08-18T00:36:00Z' GROUP BY time(12m);
name: h3o_feet--------------time                           derivative2015-08-18T00:12:00Z     0.0099999999999997872015-08-18T00:24:00Z     -0.07499999999999973

这个函数功能非常多,也非常复杂,更多对于此功能的详细解释请看官网:https://docs.influxdata.com/influxdb/v0.13/query_language/functions/#derivative

10.2.DIFFERENCE()函数

作用:返回一个字段中连续的时间值之间的差异。字段类型必须是长整型或float64。

最基本的语法:

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

与GROUP BY time()以及其他嵌套函数一起使用的语法格式:

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

其中,函数可以包含以下几个:

COUNT(), MEAN(), MEDIAN(),SUM(), FIRST(), LAST(), MIN(), MAX(), 和 PERCENTILE()。

使用示例:
例子中使用的源数据如下所示:

> SELECT water_level FROM h3o_feet WHERE location='santa_monica' AND time >= '2015-08-18T00:00:00Z' and time <= '2015-08-18T00:36:00Z';

计算water_level间的差异:

Select DIFFERENCE(water_level) FROM h3o_feet WHERE location='santa_monica' AND time >= '2015-08-18T00:00:00Z' and time <= '2015-08-18T00:36:00Z';

数据类型都为float类型。

10.3.ELAPSED()函数

作用:返回一个字段在连续的时间间隔间的差异,间隔单位可选,默认为1纳秒。

语法:

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

示例:
计算h3o_feet字段在纳秒间隔下的差异。

SELECT ELAPSED(water_level) FROM h3o_feet WHERE location = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' and time <= '2015-08-18T00:24:00Z';

在一分钟间隔下的差异率:

SELECT ELAPSED(water_level,1m) FROM h3o_feet WHERE location = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' and time <= '2015-08-18T00:24:00Z';

注意:如果设置的时间间隔比字段数据间的时间间隔更大时,则函数会返回0,如下所示:

SELECT ELAPSED(water_level,1h) FROM h3o_feet WHERE location = 'santa_monica' AND time >= '2015-08-18T00:00:00Z' and time <= '2015-08-18T00:24:00Z';

10.4.MOVING_AVERAGE()函数

作用:返回一个连续字段值的移动平均值。

语法:
基本语法

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

与其他函数和GROUP BY time()语句一起使用时的语法

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

此函数可以和以下函数一起使用:
COUNT(), MEAN(),MEDIAN(), SUM(), FIRST(), LAST(), MIN(), MAX(), and PERCENTILE().

10.5.NON_NEGATIVE_DERIVATIVE()函数

作用:返回在一个series中的一个字段中值的变化的非负速率。

语法:

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>);

此函数示例请参阅:DERIVATIVE()函数

10.6.STDDEV()函数

作用:返回一个字段中的值的标准偏差。值的类型必须时长整型或float64类型。

语法:

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

示例:

SELECT STDDEV(water_level) FROM h3o_feet;

示例2:

SELECT STDDEV(water_level) FROM h3o_feet WHERE time >= '2015-08-18T00:00:00Z' and time < '2015-09-18T12:06:00Z' GROUP BY time(1w);

10_InfluxDB常用函数(三)变换类函数(DERIVATIVE, DIFFERENCE,ELAPSED,MOVING_AVERAGE,NON_NEGATIVE_DERIVATIVE)等相关推荐

  1. 9_InfluxDB常用函数(二)选择类函数(TOP() BOTTOM() FIRST() LAST() MAX() MIN() PERCENTILE())

    9.InfluxDB学习之InfluxDB常用函数(二)选择类函数 转自:http://www.linuxdaxue.com/influxdb-study-influxdb-selectors-fun ...

  2. tensorflow2.1学习--常用函数三

  3. C++中string类函数常用函数大全

    最近,写各种关于字符串的问题,遇到不少题目解法或多或少的调用各种方法,今个发现了个大佬的总结,自己码一下保存(自己的编译器慢慢看,看文档,这谁看的进去这么多..) 大佬原文链接在最下面 string类 ...

  4. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记5:第三章 常用函数1——文件读写、算术平均值、最大值最小值、极值

    本章将介绍NumPy的常用函数.具体来说,我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.这里还将学习读写文件的方法,并尝试函数式编程和NumPy线 ...

  5. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记8:第三章 常用函数4——线性模型、数组修剪与压缩、阶乘

    本章将介绍NumPy的常用函数.具体来说,我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.这里还将学习读写文件的方法,并尝试函数式编程和NumPy线 ...

  6. Excel数据分析从入门到精通(三)函数进阶-52个Excel函数之清洗类函数

    Excel数据分析从入门到精通(三)函数进阶-52个Excel函数 1.清洗类函数-left 函数含义 函数使用 2.清洗类函数-right 函数含义 函数使用 3.清洗类函数-MID 函数含义 函数 ...

  7. 通达信指标公式编写常用函数(三)——HHVBARS、LLVBARS

    内容提要:本文主要介绍了HHVBARS函数.LLVBARS函数.函数的应用举例以及函数的综合运用. HHVBARS这个函数名由HHV和BARS两部分组成,HHV是最高值,BARS是英文,翻译成中文就是 ...

  8. 大数据HiveSQL学习笔记三-查询基础语法以及常用函数

    大数据HiveSQL学习笔记三-查询基础语法以及常用函数 一.基础语法 1.SELECT -列名- FROM -表名- WHERE -筛选条件- 如:需要根据城市,性别找出匹配的10个用户 user_ ...

  9. 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记6:第三章 常用函数2——中位数、方差、日期、展平

    本章将介绍NumPy的常用函数.具体来说,我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.这里还将学习读写文件的方法,并尝试函数式编程和NumPy线 ...

最新文章

  1. unbutu18.04安装Markdown工具typora
  2. jdk8新特性 lambda表达式详解
  3. C# Programming Language学习笔记(三)
  4. html5块元素怎么理解,HTML5-块级元素
  5. 虚拟机vmware11装Mac ox 10.8 解决windows8.1下unlocker202 vmxsmc.exe已停止工作的问题
  6. 90-70-010-源码-CUBE查询-源码
  7. Delphi常用字符串函数
  8. Java面向对象的思想
  9. unity物体挂leap交互脚本后在另一个相机视野中看不见问题的解决
  10. vc6.0垃圾文件清理工具_C盘空间逐渐被垃圾文件填满,详细清理方法介绍
  11. 记账系统推荐金蝶精斗云_小编总结了金蝶精斗云财务软件的优劣势
  12. 华为最美小姐姐,被外派墨西哥后...
  13. java运维工程师简历_运维工程师个人简历怎么写?
  14. MATLAB绘制二元函数图像
  15. 使用 SHAP库 对模型预测作解释
  16. 【视频开发】【电子电路技术】监控球机PTZ的功能介绍
  17. 黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)
  18. 巴比特 | 元宇宙每日必读:工业元宇宙究竟是什么,为何它值得被追捧?
  19. Android车载性能自动化测试Case设计
  20. 【5】依赖注入DI(Dependency Injection)

热门文章

  1. centos 6.8安装git_CentOS7安装GitLab、汉化、邮箱配置及使用
  2. python自带的sum()函数和numpy库中的sum()函数的区别
  3. 重学深度学习系列-回归
  4. opencv学习笔记19:图像金字塔和图像拉普拉斯金字塔 (用于图像放大和缩小)
  5. boost::alignment_of相关的测试程序
  6. boost::future相关的测试程序
  7. boost::mp11::mp_reverse_fold相关用法的测试程序
  8. boost::mp11::mp_product相关用法的测试程序
  9. boost::hana::detail::type_foldr1用法的测试程序
  10. boost::hana::slice_c用法的测试程序