您可以使用InfluxDB 2.0中的Flux查询语言来根据频率查询瞬时值,并选择多个字段。以下是一个示例查询:
from(bucket: "my_bucket")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "my_measurement")
|> window(every: 10s) // 按10秒间隔划分窗口
|> last() // 获取每个窗口内最新的记录
|> keep(columns: ["_time", "field1", "field2"]) // 选择要保留的字段
这个查询会选择my_measurement
测量项中所有符合条件(在过去一小时内)的记录,然后按10秒间隔将它们分组为窗口。在每个窗口中,last()
函数会选取最新的记录作为该窗口的结果。最后,keep()
函数选择了三个字段:时间、field1
和field2
。
请注意,在此示例中,我们使用了一个滑动时间窗口来按照指定频率计算瞬时值。如果您需要不同的时间间隔,请相应地更改window()
函数的参数。
另外,请注意,在使用滑动时间窗口进行聚合计算时,可能会出现数据重叠或缺失问题。因此,请确保设置正确的时间间隔和步长以避免这些问题。