作为一个例子,我将从MySQL获得这个表
Id | Name | Grade 1 | Grade 2 | Average
1. | Jack | 9 | 10 |
2. | Jimmy | 9 | 8 |
2. | Emmy | 9 | 7 |
因此,在此表的“平均值”字段中,我需要从 1年级和 2年级字段计算平均值。我尝试了很多可能性,我知道它们错了:
UPDATE table_name SET Average=AVG(Grade 1 + Grade 2)
我有办法做到这一点吗?谁能帮我?谢谢!
答案 0 :(得分:1)
您需要将字段一起添加并除以字段数。如果您的Average
字段属于DECIMAL
类型,则您甚至不需要指定ROUND
函数。任何超过声明的小数都将被截断(SQL Fiddle):
UPDATE table_name
SET AVERAGE = (grade1 + grade2) / 2;
在您的示例中,您只有两个字段可以获得平均值。所以Average decimal(3,1)
对你有用,因为小数部分最多的是.5
。因此显然不需要ROUND
功能。