//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%的变化。 这有意义吗?
答案 0 :(得分:0)
您可以创建一个包含以下字段的表:
id,bline_id,avg,timestamp
每次添加记录时,请将上述查询的结果插入此表中。
然后,您可以将此表中的最新记录与之前的记录进行比较。