【TDengine 使用环境】
生产环境
【TDengine 版本】
【操作系统以及版本】
【部署方式】容器/非容器部署
【遇到的问题:问题现象及影响】
如果不使用代码取值计算,还有没有其他的方法?
如果将11:00:48 这条记录放到10点窗口去计算,也同样会出现偏差的吧?
这种场景我是用代码取的上一个周期的last 和本周期last 然后相减 每个周期都这么算 这样就不会丢数了
这种方法也有偏差吧?比如上个周期的last 是 10:59:50, 本个周期的last 是 11:59:55.
这两个相减,结果里是不是
多计算了 10:59:50 ~ 11:00:00 这个时间段,
少计算了: 11:59:55 ~ 12:00:00 这个时间段.
是的 但是至少不会丢数 无非是这个月多一点 下个月少一点 我觉得可以接受 ![]()
那可以这样:使用每个小时窗口的 最后的值 - 上个小时窗口的最后的值,采用一个嵌套实现:
SELECT _wend AS hour_end,
last_val,
DIFF(last_val) AS hourly_delta
FROM (
SELECT _wend, LAST(val) AS last_val
FROM meters
WHERE ts >= '2026-09-17 00:00:00' AND ts < '2026-09-18 00:00:00'
INTERVAL(1h)
);