You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于GridDB窄表计算IoT项目中传感器读数的最值与平均值

GridDB 时序传感器数据统计查询方案

首先需要指出:你的建表语句缺少时间戳字段,而按特定时间段过滤数据的需求必须依赖该字段。先调整表结构,建议同时给时间字段设置分区(GridDB对时序数据的分区优化能大幅提升查询性能):

CREATE TABLE sensor_reading(
    sensor_reading_id INTEGER PRIMARY KEY,
    sensor_reading_sensor_id STRING NOT NULL,
    sensor_reading_read_value DOUBLE NOT NULL,
    sensor_reading_timestamp TIMESTAMP NOT NULL
)
PARTITION BY RANGE (sensor_reading_timestamp) EVERY (1 DAY); -- 按天分区,可根据数据量调整为小时/周

如果表已创建,可通过以下语句补加时间字段:

ALTER TABLE sensor_reading ADD COLUMN sensor_reading_timestamp TIMESTAMP NOT NULL;

核心查询语句

以下是实现特定时间段内各传感器最大值、最小值、平均值统计的SQL,结果会按传感器ID分组,每个传感器对应一行统计数据:

SELECT
    sensor_reading_sensor_id AS sensor_id,
    MAX(sensor_reading_read_value) AS max,
    MIN(sensor_reading_read_value) AS min,
    AVG(sensor_reading_read_value) AS average
FROM sensor_reading
WHERE sensor_reading_timestamp BETWEEN TIMESTAMP '2024-01-01 00:00:00' AND TIMESTAMP '2024-01-02 00:00:00' -- 替换为你的目标时间段
GROUP BY sensor_reading_sensor_id;

关键说明

  • WHERE子句通过BETWEEN指定时间范围,GridDB支持标准的TIMESTAMP格式字符串作为输入
  • GROUP BY sensor_reading_sensor_id确保每个传感器的统计结果单独成行
  • 聚合函数MAX/MIN/AVG直接计算对应统计值,通过AS设置你需要的列名

内容的提问来源于stack exchange,提问作者Abrham Getachew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:59:57