sql 语句计算学生总成绩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 语句计算学生总成绩相关的知识,希望对你有一定的参考价值。

假设表pstest内有3行数据学生的成绩,数据如下表,请分别写出计算学生总成绩和单科平均成绩的SQL,并把结果填在表中。(5分)
表结构:

表名 PSXSDD 索引 Clustered Unique(F_DDBH,F_FLBH)
别名 列名 数据类型 允许空否 缺省 备注
姓名 F_NAME Varchar(20) N
数学 F_MATH Float Y
语文 F_CH Float Y
英语 F_EN Float Y
总成绩 F_SUM float Y

成绩表:

姓名 数学 语文 英语 总成绩
张三 90 83 87
李四 79 (null) 80
王五 82 92 0
平均成绩

参考技术A select
学生.学号
as
姓名,
sum(成绩.分数)
as
总分
from
学生
left
join
成绩
on
成绩.学号=学生.学号
group
by
学生.学号
完全手打,若有疑问直接留言,我会持续关注的,保证好评率~
参考技术B update pstest set F_SUN = F_MATH + F_CH + F_EN;
把所有的学生的总成绩都填上了
然后
看题意平均成绩是要插入一条数据
insert into pstest values ("平均成绩",select sum(F_MATH)/3 from pstest, select sum(F_CH)/3 from pstest,select sum(F_EN)/3 from pstest,select sum(F_SUN)/3 from pstest);嘿嘿,方法可能有点笨。
参考技术C select F_NAME,(case when F_MATH is null then 0 else F_MATH end)+(case when F_CH is null then 0 else F_CH end)+(case when F_EN is null then 0 else F_EN end) total_points from PSXSDD

select avg(case when F_MATH is null then 0 else F_MATH end) avg_math,avg(case when F_CH is null then 0 else F_CH end) avg_ch,avg(case when F_EN is null then 0 else F_EN end) avg_eng from PSXSDD ;

以上是关于sql 语句计算学生总成绩的主要内容,如果未能解决你的问题,请参考以下文章

数据库查询语句

查询每个学生的各科成绩sql语句

asp:查询每个学生的各科成绩,总分,平均分的sql语句

如何使用sql编写查询语句 用于查询学生的 各科成绩

怎样编写SQL语句求平均成绩

怎样编写SQL语句求平均成绩