Агрегатные (AVG, Min, MAX…) функции — ограничения

Для использования агрегатных функций (AVG, Min, MAX … и т.д.) в запросах NGA необходимо при использовании GROUP BY для запросов указывать SORT BY. В противном случае синтаксический анализатор запросов будет выдавать некорректные результаты.

GROUP BY

InfluxDB поддерживает две группы GROUP BY для агрегированных запросов:

  • EL
  • SECS
EL

EL, что означает «элемент», группирует значения по DPE.

Это означает, что: при использовании AVG рассчитываются отдельные средние значения для:

  1. Motor1.temperature,
  2. Motor2.temperature and
  3. Motor1.powerUsage
ПРИМЕЧАНИЕ

Группировка элементов DP, DPT, SYS или DT не поддерживается.

EL поддерживается для группировки элементов и неявно и не может быть отключен.
SECS

Поддерживается механизм группировки по времени SECS. Например, GROUP BY SECS(300) обеспечит 5-минутное среднее значение за запрашиваемый временной диапазон.

Чтобы получить временную метку, когда значение было вычислено, добавьте _offline.._stime в SELECT, без агрегатной функции.

SELECT '_offline.._stime', 'AVG(_offline.._value)' FROM .... GROUP BY SECS(300)

ПРИМЕЧАНИЕ

MONTH не работает с бэкендом InfluxDB.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *