首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当传递“标记”值而不是“字段”时,InfluxQL中的聚合函数不会给出输出。

当传递“标记”值而不是“字段”时,InfluxQL中的聚合函数不会给出输出。
EN

Stack Overflow用户
提问于 2022-11-10 14:02:13
回答 1查看 21关注 0票数 0

为了查看Grafana上的可视化,我使用influxQL从进水数据库查询数据。表中有列,这些基本上是字段和标记,我想通过按小时时间对标记列进行分组来计数它的不同值。这是我的查询

代码语言:javascript
运行
复制
SELECT COUNT(DISTINCT("tag")) FROM "measurement" GROUP BY time(1h)

在运行这个总唯一标记= 10之后,我不会得到输出。

代码语言:javascript
运行
复制
Time         tag
1:00:00       1
1:10:10       4
1:30:10       3
1:45:00       1
2:00:00       3
2:50:00       3
3:00:00       10
3:13:00       5

我期待的是-

代码语言:javascript
运行
复制
Time         tag
1st hour      3  ( because 1,4,3 are 3 unique ids in that hour frame)
2nd hour      1
3rd hour      2
EN

Stack Overflow用户

发布于 2022-11-11 07:18:02

COUNT DISTINCT不能直接在标记上使用(InfluxQL不是SQL!),因此需要子查询,例如:

代码语言:javascript
运行
复制
SELECT COUNT(DISTINCT "tag") as "counttag"
FROM (
    SELECT "time","tag","Value(field)"
    FROM "measurement"
    WHERE $timeFilter
)
GROUP BY time(1h)

确保您在InfluxDB中使用了UTC时间戳,并记住默认情况下Grafana将结果“移动”到本地浏览器时区。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74390294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档