在InfluxDB 2.0中,aggregateWindow函数和pivot函数可以一起使用来对时间序列数据进行聚合和透视。
例如,以下查询将从“my-bucket”中选择“my-measurement”的所有数据,并将其按照每5分钟的时间窗口进行聚合。然后,使用pivot函数将每个传感器(使用“sensor”标签)的值作为新列进行透视:
from(bucket: "my-bucket")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "my-measurement" and r._field == "value")
|> aggregateWindow(every: 5m, fn: mean)
|> pivot(rowKey:["_time"], columnKey:["sensor"], valueColumn:"_value")
这个查询会将原始数据按照5分钟时间窗口聚合,并计算每个时间窗口内的平均值。然后,将结果转换为一个新表格,该表格具有以“sensor”标签命名的新列。
需要注意的是,在使用aggregateWindow函数时,请确保指定正确的every参数和fn参数以生成所需的聚合结果。同样,在使用pivot函数时,请仅选择要透视的字段和标记以避免不必要或错误的结果。




