我正在InfluxDB中编写一个查询,其中我的测量具有多个标签。我想按一个特定的标签和时间分组,并在一个字段上做一个均值,并获取该组中另一个标签值的最后一个值。
例如:
我有2个标签:tag1
和tag2
和一个字段field1
。
我想在GROUP BY
上tag1
,在mean
上进行field1
,并取last value
中的tag2
。
为此,当我编写这样的查询时,没有得到标签值:
SELECT mean(field1), last(tag2) FROM "measurement" GROUP BY tag1
如果我做错了事,请告诉我。我的tag2
值是一个string
字段。
答案 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