2014-03-12 64 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