如何在指定时间区间查询InfluxDB指定测量的标签唯一值?
更简洁的InfluxDB时间范围标签唯一值查询方法
针对你的需求,不需要嵌套子查询,直接在主查询中使用DISTINCT并添加时间过滤条件即可,语句更简洁:
SELECT DISTINCT("serie") FROM positions WHERE time >= 1645494054000000000 AND time <= 1645494056000000000
说明:
- 虽然
serie是标签字段,但InfluxQL允许直接在SELECT DISTINCT中引用标签,无需先通过子查询关联字段。 - 该语句会直接返回指定时间范围内
serie的所有唯一值,结果格式和你之前的子查询输出完全一致:name: positions time distinct ---- -------- 0 0 0 1
补充:
你提到的SHOW TAG VALUES属于元数据查询语句,确实无法通过时间范围过滤结果,因为它是从数据库的标签索引中直接读取值,不关联具体的时间序列数据。因此使用SELECT DISTINCT结合时间条件是当前最简洁的实现方式。
内容的提问来源于stack exchange,提问作者Kins
相关产品推荐
相关产品推荐

