首页 > 解决方案 > influxdb 查询测量中所有系列的最后一行

问题描述

我试图找到一种方法来获取测量中每个系列的最新行。

例如:

假设results测量的系列是:

> select series from test_result
results,service=MyService,team=A
result,service=MyService,team=B
test_result,service=MyService,team=C

给定时间范围内的行是:

> select * from test_result order by time desc

time                service     team       status duration
----                -------     ----       ------ --------
1523370939000000000 MyService A 1      300
1523370940000000000 MyService B 1      300
1523370941000000000 MyService A 1      300
1523370941000000000 MyService C 1      300
1523371748000000000 MyService A 1      300
1523371749000000000 MyService B 1      300
1523371750000000000 MyService B 1      300
1523371754000000000 MyService A 1      300

我希望查询返回第一、第二和第四行。任何帮助深表感谢。

谢谢!

标签: metricsinfluxdb

解决方案


感谢 Influx Staff 的 Katy 回答了这个问题:

要分隔系列,您可以添加 GROUP BY ,这将为您提供按系列分隔的结果。然后您可以将聚合添加到您的查询中,例如 LAST。例如:SELECT LAST(field_name), from test_result GROUP BY *

请记住,您的字段也是这里的一个因素。您可以使用 * 而不指定字段,但那里有出错的余地。如果您知道自己需要什么,最好指定一个字段。


推荐阅读