nimi
03/09/2026, 4:47 AMSELECT mean("one") FROM "load" WHERE ("nvr_id" =~ /^$device$/) AND $timeFilter GROUP BY time($__interval) fill(null)
I think the equivalent SQL would be something like:
SSELECT
DATE_TRUNC('minute', time) AS time_bucket,
AVG("one") AS mean_one
FROM load
WHERE nvr_id = 'foo'
GROUP BY DATE_TRUNC('minute', time)
ORDER BY time_bucket
But I'm not sure if the greptime query builder supports something like this? I can't manage to "bucket" time slices.
Similarly we also report changes:
InfluxQL
SELECT non_negative_derivative(mean("value"), 1s) FROM "total_frames" WHERE ("nvr_id" =~ /^$device$/) AND $timeFilter GROUP BY time($__interval) fill(null)
I know the equivalent sql for this might be a little complex - but is something like this possible with the builder?
Only asking because I thought our use case was pretty vanilla, so I don't know if I'm "holding it wrong"dennis zhuang
03/09/2026, 5:41 AMSELECT
time,
avg(one) RANGE '$__interval' FILL NULL
FROM load
WHERE
nvr_id =~ '$device'
AND $__timeFilter(time)
ALIGN '$__interval'dennis zhuang
03/09/2026, 5:41 AMdennis zhuang
03/09/2026, 6:17 AMnimi
03/09/2026, 7:17 PMnimi
03/09/2026, 7:17 PMdennis zhuang
03/10/2026, 12:05 AMnimi
03/10/2026, 6:58 PM