【问题标题】:Aggregate functions on tag values in influxdbinfluxdb 中标签值的聚合函数
【发布时间】:2020-04-19 00:55:28
【问题描述】:

我正在 InfluxDB 中编写一个查询,其中我的测量有多个标签。我想根据特定标签和时间进行分组,并对字段进行平均处理,并获取该组中的最后一个值以获得另一个标签值。

例如: 我有 2 个标签:tag1tag2 以及一个字段 field1。 我想在tag1GROUP BY 并在field1 上执行mean 并使用tag2last value

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

如果我做错了什么,请告诉我。我的tag2 值是string 字段。

【问题讨论】:

    标签: influxdb


    【解决方案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)

    【讨论】:

      【解决方案2】:

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

      SELECT mean(field1) FROM "measurement" GROUP BY tag1
      SELECT last(field1), tag2 FROM "measurement" GROUP BY tag1
      

      【讨论】:

      猜你喜欢
      • 2020-07-16
      • 2020-12-27
      • 2019-03-25
      • 2021-12-18
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-12
      相关资源
      最近更新 更多