1
使用MYSQL从另一个表中更新avg()?
我必须为表格Movies创建一个平均字段以保存每部电影的平均分数。实际分数保存在表格评级中,该评级是在mid(电影ID)中引用电影。您将如何使用评分中列“评分”中的平均值更新电影中的每一行?
我试过连接,但它们似乎不适用于MySQL。有什么建议么?先谢谢你!
使用MYSQL从另一个表中更新avg()?
我必须为表格Movies创建一个平均字段以保存每部电影的平均分数。实际分数保存在表格评级中,该评级是在mid(电影ID)中引用电影。您将如何使用评分中列“评分”中的平均值更新电影中的每一行?
我试过连接,但它们似乎不适用于MySQL。有什么建议么?先谢谢你!
您可以用update
和join
做到这一点:
update movies m join
(select mid, avg(score) as avgscore
from ratings r
group by mid
) r
on m.mid = r.mid
set m.avgscore = r.avgscore;
当然,这只会一次更新值。如果您想保持平均值为最新,那么您需要创建一个触发器来重新设置值。
您的解决方案在MySQL中完美运行!非常感谢你! – Wolftacular