作为例子,我将从 MySQL 中获取这张表
Id | Name | Grade 1 | Grade 2 | Average
1. | Jack | 9 | 10 |
2. | Jimmy | 9 | 8 |
2. | Emmy | 9 | 7 |
因此,在该表的平均值字段中,我需要根据Grade 1 和Grade 2 字段计算平均值。我尝试了很多我知道它们是错误的可能性,例如:
UPDATE table_name SET Average=AVG(Grade 1 + Grade 2)
我有办法做到这一点吗?谁能帮我?谢谢!
最佳答案
您需要将字段加在一起并除以字段数。如果您的 Average
字段是 DECIMAL
类型,您甚至不需要指定 ROUND
函数。任何超出声明的小数都将被截断(SQL Fiddle):
UPDATE table_name
SET AVERAGE = (grade1 + grade2) / 2;
在您的示例中,您只有两个字段需要计算平均值。所以 Average decimal(3,1)
对你有用,因为小数部分最多是 .5
。所以显然不需要 ROUND
函数。
关于mysql - 从 SQL 中的每一行的 2 列计算 AVERAGE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26280947/