2014-03-12 65 views
0

我有一个Mysql表,其中有大约200万行。mysql查询将三列的总和插入一个新列

虽然我插入的值,我有3列(subject1,subject2,subject3),其中有3个不同科目的分数。我想当我需要选择值时,我只能使用sumgroup by。但是,它给了我一些错误的值,group byhaving子句被证明是耗时的。

所以,我决定,我只是插入另一列的总和这3行。我改变了表格以添加这个新列(Total_Score)。现在,当我运行下面的查询时,出现错误Invalid use of group function

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

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

+0

忽略sum这个词,或者添加一个group by子句 –

+0

在分组更新陈述中,'group by'应该不起作用 –

回答

2

我认为你只需要添加值而不是总和。

UPDATE Person_Score 
SET Total_Score = subject1 + subject2 + subject3 
1
UPDATE Person_Score 
SET Total_Score = subject1 + subject2 + subject3