2015-03-22 4 views
8

Возможно ли запрашивать только последнее значение (или n-е значение) результатов запроса?InfluxDB - Получение только последнего значения в запросе

Например, в запросе:

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

можно получить только последнее значение, то есть еще один далеко назад во времени (возможно, 1000-й элемент)?

Конечно, я могу получить их все, а затем перейти к последнему, но я не хочу тратить полосы таким образом.

ответ

3

В API взгляните на первую/последнюю, чтобы выбрать первую или последнюю запись столбца. У вас также есть верх/низ, чтобы выбрать более одной записи

[править] верх/низ, кажется, вернуться higest/наименьшие значения временного кадра

+0

Где это задокументировано? Я не могу найти его по адресу http://influxdb.com/docs/v0.9/query_language/querying_data.html или http://influxdb.com/docs/v0.8/api/query_language.html – dukebody

+2

Для 0,8 он находится в агрегированные функции: http://influxdb.com/docs/v0.8/api/aggregate_functions.html#first/last жаль, что не предоставили ссылку раньше! –

+1

Мне больше всего нравится получать время для первых/последних значений ... любым способом сделать это? – tslater

9
SELECT last(value) FROM response_times WHERE time > now() - 1h; 

Это должно вернуть последнее значение столбца ,

Однако, если вы хотите, вы можете разделить последовательность на более мелкие части и выбрать последнее значение. Например:

SELECT last(value) FROM response_times WHERE time > now() - 1h GROUP BY time(60s); 

Он разделит последовательность в 60-секундных фрагментах и ​​подберет для каждого фрагмента последнее значение.

8

Если вы используете InfluxDB 0.8 не используют FIRST() или LAST(), если у вас есть не GROUP BY, потому что его очень медленно :(

Так что если вы хотите получить эти значения вам следует использовать:

Первое значение:

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

Последнее значение:

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

Не удаляйте GROUP BY *, потому что тогда это может быть возможно, что вы получите неожиданные значения тогда.

+0

У вас есть какие-либо объяснения, как выглядят эти неожиданные значения и почему они появляются? –

+0

-1 для [FUD] (https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt). Если вы хотите утверждать, что что-то сломано, дайте демонстрацию раскола - не расплывчатое и непроверенное утверждение, что * «возможно, что вы получите неожиданные значения» *. –

 Смежные вопросы

  • Нет связанных вопросов^_^