在influxdb中的标记值上聚合函数

时间:2019-12-30 08:59:50

标签: influxdb

我正在InfluxDB中编写一个查询,其中我的测量具有多个标签。我想按一个特定的标签和时间分组,并在一个字段上做一个均值,并获取该组中另一个标签值的最后一个值。

例如: 我有2个标签:tag1tag2和一个字段field1。 我想在GROUP BYtag1,在mean上进行field1,并取last value中的tag2

为此,当我编写这样的查询时,没有得到标签值: SELECT mean(field1), last(tag2) FROM "measurement" GROUP BY tag1

如果我做错了事,请告诉我。我的tag2值是一个string字段。

2 个答案:

答案 0 :(得分:1)

这就是我最终能够让它为我工作的方式:

SELECT tagValue,newField FROM (SELECT mean(currentField) AS newField FROM forever.theData WHERE currentField > 0 AND time > now() - 100d GROUP BY time(1d),tagValue)

答案 1 :(得分:0)

我认为单个查询是不可能的。您cannot call last使用标签键:标签绑定到字段,因此必须选择特定字段的最后一个值。然后,您还可以查询绑定到该字段值的标签。另外,如果您在一条mean(field1)语句中写last(field1)SELECT,则无法为tag2检索last(field1)(无法确定是否为{{1} }或mean)。您应该尝试这样的事情:

last