SQl中怎么求一行数据的平均数

2025-03-10 08:24:12
推荐回答(5个)
回答1:

update ex set 总分=语文+数学, 平均分=(语文+数学)/2
但你这个表结构设计得不太合理,因为学科被固定了,无法增删改,成绩表应该设计成
姓名 学科 分数
张三 语文 6
张三 数学 5
李四 语文 7
李四 数学 6
而且不需要把总分与平均分存到表里,这既是冗余信息,也不利分数修改。
要取总分与平均分时只要 select 姓名,sum(分数) 总分, avg(分数) 平均分 from ex group by 姓名
另外,系统想要扩展,还应该建立学科表、学生表

回答2:

用 update 修改你另外一个表中的 总分和 平均分,前提是你要修改的表必须和 你这个EX的表有关联。
比如姓名是管理的。
修改表表结构:
姓名 总分 平均分
张三 0 0
李四 0 0
可以做如下修改:

update 修改表 a set 总分= (select 语文+数学 from EX where EX.姓名=a.姓名) ,
平均分=(select avg(语文+数学) from EX where EX.姓名=a.姓名)

回答3:

SQL Server数据中运算符与表达式

回答4:

update EX set 总分=语文+数学 , 平均分=(语文+数学)/2
;

回答5:

用AVG的含数