【问题标题】:Update one Table with data from another Table用另一个表中的数据更新一个表
【发布时间】:2014-12-17 01:18:33
【问题描述】:

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

得分:

玩家      平均击杀数
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;

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

【问题讨论】:

    标签: mysql sql qsqlquery


    【解决方案1】:

    使用join 和聚合:

    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;
    

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 2019-12-27
      • 1970-01-01
      • 2012-04-07
      • 2014-02-18
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多