mysql - 从 SQL 中的每一行的 2 列计算 AVERAGE

标签 mysql average

作为例子,我将从 MySQL 中获取这张表

Id  | Name  | Grade 1  | Grade 2 | Average

1.  | Jack  | 9        | 10      |
2.  | Jimmy | 9        | 8       |
2.  | Emmy  | 9        | 7       |

因此,在该表的平均值字段中,我需要根据Grade 1Grade 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/

相关文章:

php - 使用 phpcurl 将抓取的数据插入 MySQL

mysql - 仅选择表中的公共(public)字段

mysql - 查询执行时间太长?

elasticsearch - 如何在yii2 Elasticsearch 上选择平均值

php - PDO SQL 未进入数据库

php - 如何将 HTML 输入字段的值插入 MySQL?

Python Pandas 计算日期之间的平均天数

java - CodingBat AP-1,任务号。 4?

MySQL 指定天数的平均温度

c - 我的程序不会对输入的数组元素取平均值