从另一个表获取平均值的触发器或事件

zd287kbt  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(381)
ratings_table
-------------------------
id(PK)  color(FK)  rating
=========================
1       green      5  
2       green      2
3       blue       4
4       yellow     4
5       blue       3

colors_table:
---------------------
color(PK)  avg_rating
=====================
green      ?  
blue       ?
yellow     ?

如何设置每种颜色的平均等级?我想当一个新的数据插入到评分表或一个记录更新时自动更改它。
我想这很容易,但我不知道怎么做。

g6baxovj

g6baxovj1#

最简单的方法就是 colors_table 作为需要处理触发器的视图而不是表:

CREATE VIEW colors AS
SELECT   color, AVG(rating)
FROM     ratings_table
GROUP BY color

相关问题