首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Influx-DB Uniq查询

Influx-DB Uniq查询
EN

Stack Overflow用户
提问于 2018-06-21 00:42:46
回答 2查看 1.2K关注 0票数 1

我正在尝试对INFLUX-DB执行查询,以获得唯一的values.Below是我使用的查询。

代码语言:javascript
复制
select host AS Host,(value/100) AS Load from metrics  where time > now() - 1h and command='Check_load_current' and value>4000;

查询的输出是,

我真正想要的是唯一的"Host“值。例如,我希望"host-1“作为输出只重复一次(最新的值),即使负载值是different.How,我也能做到吗?任何帮助都会很有帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-06-25 06:43:46

Q:我想要来自每个唯一“主机”的最新值,我如何实现它?

提供了以下数据库:

代码语言:javascript
复制
time                host   value
----                ----   -----
1529508443000000000 host01 42.72
1529508609000000000 host05 53.94
1529508856000000000 host01 40.37
1529508913000000000 host02 41.02
1529508937000000000 host01 44.49

A:考虑将问题分解。

首先,您可以使用"Groupby"操作将“标记值”分组到各自的存储桶中。

代码语言:javascript
复制
Select * from number group by "host"

name: number
tags: host=host01
time                value
----                -----
1529508443000000000 42.72
1529508856000000000 40.37
1529508937000000000 44.49

name: number
tags: host=host02
time                value
----                -----
1529508913000000000 41.02

name: number
tags: host=host05
time                value
----                -----
1529508609000000000 53.94

接下来,您需要对每个存储桶中的数据进行降序排序,然后告诉influxdb只返回每个存储桶的前1行。

因此,将"Order by DESC“和"limit 1”过滤器添加到第一个查询中,它应该会为您生成所需的结果。

代码语言:javascript
复制
> select * from number group by "host" order by desc limit 1;
name: number
tags: host=host05
time                value
----                -----
1529508609000000000 53.94

name: number
tags: host=host02
time                value
----                -----
1529508913000000000 41.02

name: number
tags: host=host01
time                value
----                -----
1529508937000000000 44.49

参考:

https://docs.influxdata.com/influxdb/v1.5/query_language/data_exploration/#the-group-by-clause

https://docs.influxdata.com/influxdb/v1.5/query_language/data_exploration/#order-by-time-desc

https://docs.influxdata.com/influxdb/v1.5/query_language/data_exploration/#the-limit-and-slimit-clauses

票数 1
EN

Stack Overflow用户

发布于 2018-06-21 15:27:22

如果只想获取每个唯一host标记的最新值,请执行以下操作:

代码语言:javascript
复制
SELECT host AS Host, last(value)/100 AS Load
FROM metrics
GROUP BY host
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50953241

复制
相关文章

相似问题

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