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

InfluxDB 1.8查询求助:按最新时间戳统计tag1分组下不同tag2数量

InfluxDB 查询:最新时间戳下按tag1分组统计不同tag2数量

基于InfluxQL的查询语句

适用于InfluxDB 1.x或兼容InfluxQL的2.x版本,通过子查询直接定位最新时间戳并统计:

SELECT COUNT(DISTINCT(tag2)) AS unique_tag2_count 
FROM host_info 
WHERE time = (SELECT MAX(time) FROM host_info)
GROUP BY tag1;

基于Flux的查询语句(InfluxDB 2.x推荐)

Flux作为2.x原生查询语言,逻辑更直观:

// 获取数据集的最新时间戳
latestTime = from(bucket: "your_bucket")
  |> range(start: -infinity)
  |> filter(fn: (r) => r._measurement == "host_info")
  |> max(column: "_time")
  |> findRecord(fn: (key) => true, idx: 0)

// 按tag1分组,统计最新时间戳下不同tag2的数量
from(bucket: "your_bucket")
  |> range(start: -infinity)
  |> filter(fn: (r) => r._measurement == "host_info" and r._time == latestTime._time)
  |> group(columns: ["tag1"])
  |> distinct(column: "tag2")
  |> count(column: "tag2")
  |> rename(columns: {tag2: "unique_tag2_count"})

注意事项

  • 替换代码中的host_info为你的实际measurement名称
  • Flux查询里的your_bucket需要替换为你的存储桶名称
  • DISTINCT(InfluxQL)和distinct()(Flux)会自动去重,确保同一tag1下相同tag2只计数一次

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:21:03