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

如何在CnosDB中实现多维时间序列数据查询?

CnosDB多维查询实现指南

基础多维筛选查询

CnosDB兼容标准SQL的多条件筛选逻辑,你可以直接通过WHERE子句组合时间戳、设备ID、传感器类型等条件,用法和传统SQL一致。

假设你的数据表名为sensor_data,包含字段:time(时间戳)、device_id(设备ID,标签字段)、sensor_type(传感器类型,标签字段)、value(传感器读数),以下是查询示例:

-- 查询指定时间范围、特定设备及传感器类型的原始数据
SELECT time, device_id, sensor_type, value
FROM sensor_data
WHERE time >= '2024-01-01 00:00:00' 
  AND time <= '2024-01-02 00:00:00'
  AND device_id IN ('device_001', 'device_002')
  AND sensor_type = 'temperature';

多维聚合查询

如果需要基于多维度(设备ID、传感器类型)进行聚合计算,可以结合GROUP BY子句,搭配时间窗口函数实现时序聚合:

-- 按10分钟时间窗口、设备ID、传感器类型分组,计算平均/最大读数
SELECT 
  DATE_BIN(INTERVAL '10 minutes', time, '1970-01-01T00:00:00Z') AS interval_start,
  device_id,
  sensor_type,
  AVG(value) AS avg_value,
  MAX(value) AS max_value
FROM sensor_data
WHERE time >= '2024-01-01 00:00:00' 
  AND time <= '2024-01-01 12:00:00'
GROUP BY interval_start, device_id, sensor_type
ORDER BY interval_start, device_id, sensor_type;

关键注意事项

  • 时间范围查询:推荐使用>=/<=或BETWEEN指定区间,CnosDB对时间字段的索引优化能大幅提升查询效率
  • 标签字段筛选:device_id、sensor_type这类标签字段(创建表时指定为TAG)的筛选性能远高于普通字段,建议将常用筛选维度设为标签
  • 聚合规则:所有非聚合函数的字段(如device_id、sensor_type、时间窗口字段)必须包含在GROUP BY子句中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 21:52:09