You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用InfluxDB Flux查询获取每个分组的最新一条记录

问题原因
  • 首先你的Filter语句存在语法错误:or判断逻辑被写在了filter的fn参数闭包外面,末尾还有多余的方括号,实际执行时筛选逻辑不符合预期,甚至可能直接抛出语法异常。
  • 其次last()函数默认会对当前所有返回结果取最新的1条数据,没有按城市做分组的情况下,自然只会返回所有匹配数据里时间最近的1条,拿不到两个城市各自的最新记录。
正确查询语句
from(bucket: "population")
  |> range(start: -7d)
  // 修正filter语法,将两个城市的判断逻辑都放在fn闭包内
  |> filter(fn: (r) => r["city"] == "New York" or r["city"] == "Los Angeles")
  // 按城市字段分组,后续聚合操作会对每个分组独立执行
  |> group(columns: ["city"])
  // 每个城市分组单独取最新的1条数据
  |> last()
  // 如果不需要保持分组结构,可加下面这行解除分组,不需要可以删除
  |> group()
补充说明
  • 如果需要查询所有存储了数据的城市最新记录,只需要删掉上面filter行的城市判断条件即可,分组、取last的逻辑不变。
  • range的时间范围可以根据你的数据实际存储周期调整,只要保证能覆盖到所有目标城市的最新数据点即可。

内容的提问来源于stack exchange,提问作者Unplug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:12:02