按传感器统计重叠的 2 小时时间窗口里的读数。
窗口规则:
- 窗口起点都是整点过 30 分(
hh:30:00),每隔 1 小时一个起点;每个窗口长 2 小时,区间左闭右开[start, start + 2h)。所以相邻窗口重叠 1 小时,一条读数通常同时落在两个窗口里。 - 每个传感器单独计算。该传感器的第一个窗口的起点,是不晚于它第一条读数的最近一个
hh:30:00(例如第一条读数在00:23:47,第一个窗口从前一天23:30:00开始;第一条读数恰好在00:30:00,就从00:30:00开始)。比第一个窗口更早的窗口一律不输出。 - 只输出至少包含一条读数的窗口。
每个窗口输出:
window_start:窗口起点;n:窗口内的读数行数(包括温度为 null 或坏读数的行);avg_temp:窗口内temperature的平均值。-999是坏读数,与 null 一样不参与平均;窗口内没有有效温度时为 null。不做舍入。
输入
readings(sensor_id, ts, temperature, humidity)
输出
列为 sensor_id, window_start, n, avg_temp,行顺序不限。