0

您好,我有一个名为 score 的表和另一个名为 games 的表。尽可能基本的表格看起来像这样。

分数:

玩家 AverageKills
extcy 5


游戏:

玩家杀戮
extcy 5
extcy 6
extcy2 4
extcy 7

我试图将杀戮中所有杀戮的平均值仅用于 extcy 而不是 extcy2,并通过更新将其添加到分数中的数据原始 extcy 行。

UPDATE scores, games
SET scores.AverageKills = AVG(games.Kills)
WHERE scores.Player = games.Player;

关于我在上面的代码中做错了什么的任何想法?

4

1 回答 1

1

使用 ajoin和聚合:

update scores s join
       (select player, avg(kills) avgkills
        from games g
        group by player
       ) g
       on s.player = g.player
    set s.averagekils = g.avgkills;
于 2014-12-17T01:21:05.173 回答