基于聚合函数的InfluxQL过滤

时间:2020-10-20 15:00:21

标签: influxdb

我有大量传感器数据存储在涌入中,在过滤掉传感器故障的异常值之后,我想对其进行汇总。数据带有会话ID标记,我将“故障”定义为在会话期间的任何时候每秒感测到的值每秒变化超过N个单位。

我很希望能够编写类似SELECT sum("value") FROM "data" WHERE max(derivative("value")) > N GROUP BY "session_id"的查询,但是InfluxQL不允许使用WHERE子句中的函数来链接函数,也不允许混合聚合字段和非聚合字段。

相反,我有如下内容:

SELECT derivative("value"), difference("value") INTO "data_derivative" FROM "data" GROUP BY "session_id"
SELECT max("derivative"), cumulative_sum("value") INTO "data_derivative_max" FROM "data_derivative" GROUP BY "session_id"
SELECT sum("cumulative_sum") FROM "data_derivative_max" WHERE "max" < N

这感觉完全是疯了,肯定有更好的方法吗?

0 个答案:

没有答案