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