Timescale Cloud:性能、规模、企业级

自托管产品

MST

Timescale 的时间加权平均作为一个聚合函数实现,它使用最后一次观察值结转 (LOCF) 或线性插值来对每个值进行加权。此聚合函数不可并行化,但支持连续聚合

在此步骤中,我们使用一个名为 freezer_temps 的示例表,其中包含有关冰柜内部温度的数据。

  1. psql 提示符下,查找数据的平均值和时间加权平均值

    SELECT freezer_id,
    avg(temperature),
    average(time_weight('Linear', ts, temperature)) as time_weighted_average
    FROM freezer_temps
    GROUP BY freezer_id;
  2. 要确定冰柜是否一次性超出温度范围超过 15 分钟,请在窗口函数中使用时间加权平均值

    SELECT *,
    average(
    time_weight('Linear', ts, temperature) OVER (PARTITION BY freezer_id ORDER BY ts RANGE '15 minutes'::interval PRECEDING )
    ) as rolling_twa
    FROM freezer_temps
    ORDER BY freezer_id, ts;

有关时间加权平均 API 调用的更多信息,请参阅 超级函数 API 文档

关键词