Учитывая этот запрос и его вывод, я хотел бы суммировать все значения с одинаковыми временными метками (в данном случае три встречаются в 2018-08-28T22:57:19.949
).
SELECT d from (select non_negative_derivative(f64, 1m) as d
FROM _
WHERE __name__='rx_bytes' and dp_id='0x7'
GROUP BY port_name)
WHERE d > 0
name: _
time d
---- -
2018-08-28T22:57:09.586Z 12209.302325581395
2018-08-28T22:57:10.558Z 12962.962962962964
2018-08-28T22:57:19.949Z 81390.69321690981
2018-08-28T22:57:19.949Z 10676.179320626132
2018-08-28T22:57:19.949Z 10676.179320626132
Я попытался сделать это с помощью оператора GROUP BY time
во внешнем запросе, который соответствует периодичности вызова non_negative_derivative
. Однако, когда я пытаюсь это сделать, я вижу ошибку:
SELECT sum(d)
FROM (
SELECT non_negative_derivative(f64, 1m) as d
FROM _
WHERE __name__='rx_bytes' and dp_id='0x7'
GROUP BY port_name
)
GROUP BY time(1m)
ERR: aggregate function required inside the call to non_negative_derivative
Это смущает меня, так как GROUP BY time
происходит вне внутреннего запроса, который содержит вызов non_negative_derivative
. Почему внешний GROUP BY
влияет на внутренний non_negative_derivative
? Есть ли способ, которым я могу обойти это? Есть ли лучший способ подойти к этой проблеме?
Для справки ниже приведено менее компактное представление основных данных.
SELECT non_negative_derivative(f64, 1m) as d
FROM _
WHERE __name__='rx_bytes' and dp_id='0x7'
GROUP BY port_name
LIMIT 5
name: _
tags: port_name=LOCAL
time d
---- -
2018-08-28T22:57:08.554Z 0
2018-08-28T22:57:09.586Z 0
2018-08-28T22:57:10.558Z 0
2018-08-28T22:57:19.949Z 0
2018-08-28T22:57:20.581Z 0
name: _
tags: port_name=s7-eth1
time d
---- -
2018-08-28T22:57:08.554Z 0
2018-08-28T22:57:09.586Z 0
2018-08-28T22:57:10.558Z 0
2018-08-28T22:57:19.949Z 10676.179320626132
2018-08-28T22:57:20.581Z 0
name: _
tags: port_name=s7-eth2
time d
---- -
2018-08-28T22:57:08.554Z 0
2018-08-28T22:57:09.586Z 0
2018-08-28T22:57:10.558Z 0
2018-08-28T22:57:19.949Z 10676.179320626132
2018-08-28T22:57:20.581Z 0
name: _
tags: port_name=s7-eth3
time d
---- -
2018-08-28T22:57:08.554Z 0
2018-08-28T22:57:09.586Z 12209.302325581395
2018-08-28T22:57:10.558Z 12962.962962962964
2018-08-28T22:57:19.949Z 81390.69321690981
2018-08-28T22:57:20.581Z 0