SQL 更新查询 - 获取多个评分的平均值,然后将该数字转移到不同的 table

SQL Update Query - Get average of multiple ratings and then transfer that number onto a different table

在这个问题中,我有 2 个 table,一个包含评分为 1-5 的游戏评论列表,另一个是视频游戏列表。我想找到每场比赛的平均评分,然后将这些数字插入另一个 table 上各自的位置。我不确定在哪里处理这个问题是使用 JOIN 更合适还是使用任何其他技术。 我知道在下面的代码中,我提供了与特定游戏评级相对的一般平均值。

UPDATE GamesList
SET GamesList.AvgRating = AVG(GameReviews.Rating)
FROM GameReviews, GamesList
WHERE GamesList.GameTitle = GameReviews.GameTitle

我在这里要实现的目标如下所示

GameTitle Average Rating
GTA 4.3
Witcher 4.6

来自table这样的

Game Title Rating
GTA 4
GTA 4
GTA 5
Witcher 4
Witcher 5
Witcher 5

如有任何建议,我们将不胜感激。

我建议不要在正式 table 中保留平均数据。相反,只需使用 query/view 来生成平均值:

SELECT gl.GameTitle, COALESCE(AVG(gr.Rating), 0) AS AvgRating
FROM GamesList gl
LEFT JOIN GameReviews gr
    ON gr.GameTitle = gl.GameTitle
GROUP BY gl.GameTitle;