//This is my query
SELECT bline_id, ROUND(Avg(flow),3) avg
FROM (SELECT id, bline_id, flow, date, CASE
WHEN @previous IS NULL
OR @previous = bline_id THEN @rownum := @rownum + 1
ELSE @rownum := 1
end rn,
@previous := bline_id
FROM blf,
(SELECT @rownum := 0,
@previous := NULL) t
WHERE bline_id > 0 and bline_id < 31
ORDER BY bline_id,
date DESC,
id) t
WHERE rn < 11
GROUP BY bline_id
このクエリは、最後の 10 レコードの平均を取ります。これらの結果をデータベースに保存し、新しいレコードが追加されたときに次の 10 のグループと比較できるようにしたいと考えています。
私が探している最終結果は、平均値に + または - 2% の変化があるかどうかを判断できるようにすることです。これは理にかなっていますか?