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

InfluxDB查询:获取measurement中各series的最新一行数据

获取InfluxDB中每个Series的最新一行数据

我来给你支招!要在InfluxDB的test_result measurement里获取每个series的最新一行数据,其实用GROUP BY结合聚合函数就能轻松搞定,刚好匹配你的场景:

核心思路

你的series是由service和team这两个标签组合定义的,所以我们可以按这两个标签分组,再用LAST()聚合函数提取每组(也就是每个series)的最新字段值,同时加上时间范围过滤。

具体查询语句

针对你的场景,这里有个直接可用的查询:

SELECT LAST(status), LAST(duration), service, team 
FROM test_result 
-- 替换成你需要的时间范围,支持时间戳或ISO格式时间
WHERE time >= 1523370000000000000 AND time <= 1523380000000000000 
GROUP BY service, team 
ORDER BY time DESC

语句解释

  • LAST(status)和LAST(duration):分别提取每个series中status和duration字段的最新值
  • GROUP BY service, team:按照你的series标识标签分组,确保每个分组对应一个独立的series
  • WHERE子句:限定查询的时间范围,你可以换成ISO格式的时间(比如'2018-04-10T00:00:00Z')或者时间戳
  • ORDER BY time DESC:让结果按最新时间排序,方便查看

扩展:保留最新时间戳

如果你需要同时获取每个series最新数据的时间戳,可以把LAST(time)也加入查询:

SELECT LAST(time) AS last_time, LAST(status), LAST(duration), service, team 
FROM test_result 
WHERE time >= 1523370000000000000 AND time <= 1523380000000000000
GROUP BY service, team 
ORDER BY last_time DESC

这样返回的结果里就会包含每个series最新数据的具体时间啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:23:57