回 帖 发 新 帖 刷新版面

主题:请您帮助: 现有学生成绩库,如何统计分析各科目最高分,平均分,和及格率等(已上传成绩库)

[color=FF0000][size=5]RT,想了半天,仍旧一头雾水

特上来求助,谢谢指点!

附件中有成绩库.[/size][/color]

回复列表 (共7个回复)

沙发

看了你的库,设计的有点...... 呵呵

板凳

您这就是一个成绩表吗!而且是一个不规范的成绩表,你应该先把它变为只有学号、科目和成绩三列的一个表,然后就简单了。
运行下列SQL语句得到你想要的结果:

select 科目,max(成绩) as 最高分,avg(成绩) as 平均分;
from 成绩表;
group by 科目;
into cursor 成绩统计表

3 楼

你可能还有些雾,这样吧,你先运行下列语句:

select ID as 学号,Wgy as 科目,Wgycj as 成绩 from 成绩库;
union;
select ID as 学号,Ywk1 as 科目,Ywk1cj as 成绩 from 成绩库;
union;
select ID as 学号,Ywk2 as 科目,Ywk2cj as 成绩 from 成绩库;
into cursor 成绩表

然后,接着运行楼上SQL
看看结果是不是你想要的?

4 楼

各科的及格率,看来还有点儿麻烦.有空再给你说.

5 楼

select 科目,count(*) as 选课人数;
from 成绩表;
group by 科目;
into cursor 选课人数

select 科目,count(*) as 及格人数;
from 成绩表;
where 成绩 >= 60;
group by 科目;
into cursor 及格人数

select 科目,及格人数/选课人数 as 及格率;
from 及格人数 j,选课人数 x;
where j.科目 = x.科目;
into cursor 及格率

select c.科目,最高分,平均分,及格率;
from 成绩统计表 c,及格率 j;
where c.科目 = j.科目

(这是你最终想要的结果)

6 楼

3 楼的思路是正确的,完全可以用,一条查询语句完成,
各科目最高分,平均分,和及格率的统计任务的!

7 楼

问题完美解决,非常感谢大家的热情帮助.
我已经把语句写入程序   现在只要运行一下,我要的数据就可以全部出来了

特别鸣谢  jinlonggao!

我来回复

您尚未登录,请登录后再回复。点此登录或注册