InfluxDB - 仅获取查询中的最后一个值

标签 influxdb

是否可以只查询查询结果的最后一个值(或第n个值)?

例如,在查询中:

SELECT value FROM response_times WHERE time > now() - 1h limit 1000;

是否可以只获取最后一个值,即时间上更早的值(可能是第 1000 个元素)?

当然,我可以检索所有它们,然后跳到最后一个,但我不想以这种方式浪费带宽。

最佳答案

如果您使用的是 InfluxDB 0.8,如果您没有 GROUP BY,请不要使用 FIRST()LAST(),因为它的 非常慢:(

因此,如果您想获取这些值,您应该使用:

第一个值:

SELECT * FROM <SERIES> GROUP BY * ORDER BY ASC LIMIT 1

最后一个值:

SELECT * FROM <SERIES> GROUP BY * ORDER BY DESC LIMIT 1

不要删除 GROUP BY *,因为这样您可能会得到意外的值。

关于InfluxDB - 仅获取查询中的最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29193898/

相关文章:

oracle - 如何从 Oracle 获取数据并将其发送到 statsd 或直接发送到 InfluxDB?

time-series - InfluxDB - 什么是分片组持续时间

docker - 如何在 docker 容器中启用 influx http 身份验证标志

grafana - 有没有办法按时间以外的字段值对 influxDb 进行排序?

influxdb - 如何在 Telegraf 中转换 "Tags Values"

influxdb - 如何在 Flux (InfluxDB) 中将字符串列一分为二

influxdb - 在 grafana 单一统计中使用来自 influxdb 的时间字段

influxdb - 在 InfluxDB 中配置时区

sql - 流入数据库 : How to update duration of an existing database

influxdb - 如何在 Grafana/InfluxDB 中创建百分比/比率列?