MySQL 求一列数据均值,并写入另外一列对应的行中。

假设我有一张表:test1idcountAVG12.12435.2342.2......5003.25012.6id列为主键并自增。我如何将‘count’列中的数据按照一... 假设我有一张表:test1
id count AVG

1 2.1
2 4
3 5.23
4 2.2
......
500 3.2
501 2.6
id列为主键并自增。

我如何将‘count’列中的数据按照一定范围求均值,然后写入AVG列中相对应的行中?
比如:求均值规则为:“求历史(包括当前值(列))5个数据的均值”。
我知道求均值的方法可以这样实现:
SELECT AVG(count) FROM test1 WHERE id<=501 && id>=497;
或者还有什么更好的方法能自动判别“当前id”?
展开
 我来答
cndonger
2014-05-14 · TA获得超过801个赞
知道小有建树答主
回答量:1425
采纳率:0%
帮助的人:936万
展开全部

这个要用到子查询的,看你写在哪一行的avg字段了,加个条件过滤下就好了


update test1 set avg=(select AVG(count) FROM test1 WHERE id<=501 && id>=497) where id='你想写入的id所在的行';
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式