Influxdb 结合XDB子查询数据上的最后和累积和

Influxdb 结合XDB子查询数据上的最后和累积和,influxdb,Influxdb,我有一些遥测数据如下所示: > select * from connected_users LIMIT 100 name: connected_users time event_id value ---- -------- ----- 1605485019101319658 13759 2 1605485299566004832 13759 0 1605490011182967926 13760 4 160549

我有一些遥测数据如下所示:

> select * from connected_users LIMIT 100
name: connected_users
time                event_id value
----                -------- -----
1605485019101319658 13759    2
1605485299566004832 13759    0
1605490011182967926 13760    4
1605490171409428188 13760    0
1605490207031398071 13760    7
1605490246151204709 13760    0
1605491054403726308 13761    1
1605491403050521520 13761    0
1605491433407347399 13762    2
1605491527773331816 13762    3
1605492020976088377 12884    1
1605492219827002782 13761    1
1605492613984911844 13763    1
1605492806683323942 13763    0
...
这些写入仅在事件发生更改时发生,即不是在固定的时间间隔内发生。我想写一个查询,它将为我提供所有事件ID上当前值每分钟的累计和。但是,因为我不能保证在之前的60秒内写入了新的数据值,所以我使用LAST来获取每个事件的最后设置

到目前为止,我做到了:

SELECT SUM(*) FROM 
    (SELECT LAST("value") FROM 
        "connected_users" WHERE 
        time <= now() AND 
        time >= now() - 3h 
        GROUP BY time(1m), "event_id" fill(previous))
GROUP BY time(1m)
但这似乎给了我一个比预期低得多的外部值,以及大量重复的时间条目,因此在输出数据中有大量重复条目

我可以看到内部查询是正确的,因为如果我单独运行它,我可以将输出数据堆叠在Grafana中,并在图中手动查看正确的总值。然而,我希望有一个单一的系列,而不是一组系列,我无法思考如何转换数据来做到这一点

编辑:要提供更多上下文,请执行以下操作:

这是内部查询Grafana,因此$timeFilter:

从连接的用户中选择lastvalue,其中$timeFilter GROUP BY time1m,event\u id fillprevious

这将生成一个我可以叠加的图表,并且是正确的:

然后,如果我再次将该内部查询包装为SUM和GROUP BY TIME1,我可以分离出单个序列:

从SelectLastValue中选择SUM*fromSelectLastValue fromConnected_用户,其中$timeFilter和event_id='9970'按时间1M分组,event_id按时间1M填充上一组

但是,如果我删除AND并尝试对所有序列值求和,我只会得到一个混乱的结果,可能是因为存在重复/重叠的时间值?最大值也低于预期值18,得到8:

从SelectLastValue中选择SUM*,其中$timeFilter GROUP BY time1m,event_id fillprevious GROUP BY time1m


当您在内部查询中仅选择一个serverId时,会是什么样子?此处添加的文本太多,因此我更新了原始问题,说明了在该场景中会发生什么:最后一个图形是整体图形,但标签是“按标记事件id配置”。我还将尝试显式地使用SUMlast。检查查询检查器,图形中的混乱可能是因为输入数据中的混乱,或者直接验证查询/结果是否流入XDB。当您在内部查询中仅选择一个serverId时会是什么样子?此处添加的文本太多,因此我用该场景中发生的情况更新了原始问题:最后一个图形是整体图形,但标签是按标记事件id配置的。我还将尝试显式地使用SUMlast。检查查询检查器,图形中的混乱可能是因为输入数据中的混乱,或者直接验证查询/XDB中的结果。