是否可以只查询查询结果的最后一个值(或第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/