当前位置: 首页 > news >正文

TDengine 聚合函数 STDDEV 用户手册

在这里插入图片描述

STDDEV 函数用户手册

1. 函数简介

STDDEV 是 TDengine 的聚合函数,用于计算某一数值字段的标准差,衡量数据波动性。适用于电流、电压、功率等时序数据的波动分析。


2. 语法说明

SELECT STDDEV(column_name) FROM meters [WHERE condition];
-- 或用于窗口聚合
SELECT STDDEV(column_name) FROM meters [WHERE condition] INTERVAL(window_size);
  • column_name:需要计算标准差的字段,必须为数值类型。
  • meters:智能电表超级表名。
  • condition:可选,筛选数据的条件。
  • window_size:如 1h1d,窗口聚合单位。

3. 参数说明

  • 支持数据类型:TINYINTSMALLINTINTBIGINTFLOATDOUBLE 等。
  • NULL 值自动忽略。
  • 支持窗口聚合(INTERVAL),不支持与 GROUP BY 同时使用。

4. 返回值

  • 返回 DOUBLE 类型的标准差。
  • 无有效数据时返回 NULL。

5. 智能电表场景使用示例

场景一:每小时电流波动分析

SELECT STDDEV(current) AS current_stddev
FROM meters
WHERE location = 'California.SanFrancisco'AND ts >= NOW - 1d
INTERVAL(1h);

说明:统计过去一天每小时的电流标准差,分析用电波动。


场景二:单设备电压波动分析

SELECT STDDEV(voltage) AS voltage_stddev
FROM meters
WHERE tbname = 'd1001'AND ts >= NOW - 7d;

说明:统计某台电表一周内的电压波动情况。


场景三:分区统计各设备电流波动

SELECT tbname, STDDEV(current) AS current_stddev
FROM meters
WHERE location = 'California.LosAngles'AND ts >= NOW - 1d
PARTITION BY tbname;

说明:统计每台设备过去一天的电流标准差,便于对比设备运行稳定性。


场景四:检测异常用电行为

SELECT STDDEV(current) AS current_stddev
FROM meters
WHERE tbname = 'd1002'AND ts >= '2024-09-01 00:00:00' AND ts < '2024-09-02 00:00:00';

说明:统计某设备某天的电流标准差,标准差异常增大可能说明用电异常或设备故障。


场景五:窗口聚合分析电压波动

SELECT STDDEV(voltage) AS voltage_stddev
FROM meters
WHERE location = 'California.Cupertino'AND ts >= NOW - 1d
INTERVAL(30m);

说明:每 30 分钟统计一次电压标准差,监控电压质量。


6. 注意事项

  • 仅支持数值型字段。
  • 对于大数据量,建议加时间过滤提升性能。

通过合理使用 STDDEV 函数,可以高效分析智能电表数据的波动性,辅助用电异常检测、设备健康评估和电网质量监控。

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

http://www.dtcms.com/a/389782.html

相关文章:

  • ARM--启动代码
  • openharmony1.1.3 通过i2c进行温湿度采集
  • 虚拟仿真技术赋能国土资源监测教育,破解生态与安全人才培养困局
  • Vim 详细使用方法与运维工作常用操作
  • python基础数据分析与可视化
  • DeepSort学习与实践-原理学习
  • 贪心算法应用:多重背包启发式问题详解
  • 使用C#开发的控笔视频生成小程序
  • [重学Rust]之ureq
  • 水下机器人专用绝缘监测装置
  • C++中std::map容器中元素删除方法汇总
  • JavaEE 初阶第二十三期:网络原理,底层框架的“通关密码”(三)
  • 打工人日报#20250918
  • Git本地\远程分支区分查找
  • 从零开始手写机器学习框架:我的深度学习之旅——开启深度学习的底层探索
  • QT的部件
  • Ubuntu20.04仿真 | iris四旋翼添加双目相机D435i
  • eSIM时代来临!iPhone Air引爆无卡化革命
  • openkylin、ubuntu22部署opencv4.8.0
  • 各省产业结构合理化-摩尔(Moore)指数 1999-2023年
  • 【win10、win11】永久关闭自动更新
  • Linux基础实践(基于Ubuntu系统)
  • 线性控制理论:线性系统状态空间
  • OpenAI最新研究:为什么语言模型会产生幻觉
  • 人工智能通识与实践 - 自然语言处理
  • Coze源码分析-资源库-创建工作流-后端源码-安全/错误/流程
  • OneTerm开源堡垒机实战(四):访问授权与安全管控
  • 【赵渝强老师】基于PostgreSQL的MPP集群:Greenplum
  • leetCode算法题记录:27.移除元素
  • 自动化运维工具ansible