InfluxQL:计算状态变化的周期



我的InfluxDB中有一个表,用于发送已占用(1(和空闲(9(的状态。现在我想创建一个查询,显示状态更改之间的时间段,这样我就可以创建停车场被占用和空闲的时间报告。数据由驻车传感器生成,并通过节点红色插入influxdb。数据位于Ubuntu 20.04上的InfluxDB 1.8.10版本中。表格数据实际上具有以下结构:

名称:parkinginfo|时间|状态||--------|---------------||1646302488500839186|1||164630248850002036666|1||1646302488499932866|2||1646302488499826263|1|

状态已记录:1=空闲,2=已占用

有人能帮我为此创建查询吗?谢谢

在InfluxDB中报告给定状态的总持续时间是可行的,但只能在Flux中报告,而不能在InfluxQL中报告(很容易(。你可以:

  1. 在v1.8中启用Flux,并在此更改配置

  2. 样品通量可以是:

    from(bucket:"yourDatabaseName/autogen"(|>范围(开始:2022-03-03T00:00:00Z,停止:2022-02-03-03T23:59:59Z(|>滤波器(fn:(r(=>r._ measurement==;yourMeasurementName"(|>stateDuration(fn:(r(=>r._value==1,列:";状态";,单位:1m(

    from(bucket:"yourDatabaseName/autogen"(|>范围(开始:2022-03-03T00:00:00Z,停止:2022-02-03-03T23:59:59Z(|>滤波器(fn:(r(=>r._ measurement==;yourMeasurementName"(|>stateDuration(fn:(r(=>r._value==2,列:";状态";,单位:1m(

尽管社区已经等待了一段时间,但在InfluxQL中仍然不可能做到这一点。点击此处查看更多详细信息。

最新更新