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

如何在TDengine中执行降采样查询?

在TDengine中执行降采样查询的方法

TDengine中实现降采样核心依赖INTERVAL子句,结合聚合函数将指定时间窗口内的原始数据合并为单条结果。针对你提到的每秒1次采集、每10秒降采样的场景,具体实现如下:

基础降采样查询

假设你的数据表为sensor_data,包含时间戳字段ts TIMESTAMP和采集值字段value FLOAT,执行每10秒的降采样查询(以平均值为例):

SELECT _wstart, AVG(value)
FROM sensor_data
INTERVAL(10s);
  • INTERVAL(10s):指定降采样的时间窗口为10秒
  • _wstart:TDengine自动生成的时间窗口起始时间,用于标识每个降采样结果对应的时间段
  • AVG(value):对每个10秒窗口内的value取平均值,你可以根据业务需求替换为其他聚合函数

不同聚合需求的示例

根据业务场景选择合适的聚合函数:

  • 取每个10秒窗口的最大值:
SELECT _wstart, MAX(value)
FROM sensor_data
INTERVAL(10s);
  • 取每个10秒窗口的最小值:
SELECT _wstart, MIN(value)
FROM sensor_data
INTERVAL(10s);
  • 统计每个10秒窗口内的数据采集次数:
SELECT _wstart, COUNT(*)
FROM sensor_data
INTERVAL(10s);
  • 取每个10秒窗口内的最后一条数据:
SELECT _wstart, LAST(value)
FROM sensor_data
INTERVAL(10s);

时间窗口对齐(可选)

如果需要将降采样窗口对齐到固定时间点(比如整点的10秒倍数),可以添加ALIGN子句:

SELECT _wstart, AVG(value)
FROM sensor_data
INTERVAL(10s) ALIGN(10s);

例如,未对齐时第一个窗口可能从数据起始时间(如12:00:03)开始,对齐后窗口会调整为12:00:00-12:00:10、12:00:10-12:00:20等规整的时间段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:52:39