Для использования агрегатных функций (AVG, Min, MAX … и т.д.) в запросах NGA необходимо при использовании GROUP BY для запросов указывать SORT BY. В противном случае синтаксический анализатор запросов будет выдавать некорректные результаты.
GROUP BY
InfluxDB поддерживает две группы GROUP BY для агрегированных запросов:
- EL
- SECS
EL
EL, что означает «элемент», группирует значения по DPE.
Это означает, что: при использовании AVG рассчитываются отдельные средние значения для:
- Motor1.temperature,
- Motor2.temperature and
- 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. |