【问题标题】:mysql query to insert the sum of three columns into a new columnmysql查询将三列的总和插入新列
【发布时间】:2014-03-12 16:24:52
【问题描述】:

我有一个 Mysql 表,其中有大约 200 万行。

当我插入值时,我有 3 列(subject1、subject2、subject3)在 3 个不同的科目中得分。我想当我需要选择值时,我可以只使用sumgroup by。但是,它给了我一些错误的值,并且带有having 子句的group by 被证明是耗时的。

所以,我决定,我将插入另一列,其中包含这 3 行的总和。我更改了表格以添加这个新列(Total_Score)。现在,当我运行以下查询时,我收到一个错误 Invalid use of group function

UPDATE Person_Score
SET Total_Score = SUM(subject1 + subject2 + subject3)

如何插入所有 200 万行的总和?

【问题讨论】:

  • 省略sum这个词,或者添加一个group by子句
  • 从头开始,group by 在更新语句中根本不起作用

标签: mysql sql


【解决方案1】:

我认为您只需要添加值而不是求和。

UPDATE Person_Score
SET Total_Score = subject1 + subject2 + subject3

【讨论】:

    【解决方案2】:
    UPDATE Person_Score
    SET Total_Score = subject1 + subject2 + subject3
    

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 2014-07-21
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      相关资源
      最近更新 更多