My InfluxDB measurement is laid out as follows:
time | value | tags -------------------------------------- a | 2 | type=type_a,host=host_a a | 4 | type=type_a,host=host_b a | 6 | type=type_b,host=host_c b | 3 | type=type_a,host=host_a b | 4 | type=type_a,host=host_b b | 5 | type=type_b,host=host_c
Now i query the sum of the value grouped by type:
SELECT sum("value") FROM "$retention"."$measurement" WHERE "type" =~ /^$type$/ AND $timeFilter GROUP BY time($__interval), "type" fill(null)
And while this query works, it has one major downside: The result of the query depends on the interval at which the data was inserted and the interval which is queried by
$__interval: A query interval of three times the insertion interval would simply result in a tripling of the actual value, due to the
Now i could just go ahead and lock both, the insertion and query interval for that value. But to keep things flexible i would rather not have to query intervals of 10s when viewing an entire year.
How can i write a query, that
sum()s the values of the individual points in time and then aggregates the data over the time period using some other aggregation function, e.g.