成绩计算问题,对五一期间浪费大家的时间感到抱歉

beyond20082002 2005-05-02 10:56:03
数据库(.dbf文件)里有:
学年学期 学号 姓名 专业 班号 课程号 课程名 分数 学时 学分 学习类别 (字段)

求表1:学号 姓名 专业 专业均分 专业排名 专业总人数
注:我不知道怎么求专业排名
专业均分是: 所有(分数×学分)之和/总学时数

表2: 课程号 课程名 学习类别 考生人数 平均分 学分 学时 优秀 良好 中等 及格 不及格
注:假设95分(包括95)以上优秀,85(包括85)-94良好,75(包括75)-84中等,
60(包括60)-74及格,60以下不及格
我用vfp6.0

详细举例:
学号 姓名 专业 专业均分 专业排名 专业总人数
1001 a 计算机 90 1 120
1002 b 计算机 80 2 120
.........
1120 z 计算机 20 120 120
2001 aa 会计 90 1 90
2002 bb 会计 80 2 90
.......
2090 zz 会计 10 90 90
.......下边有好多的专业只写了两个,当然学号,姓名不是问题的关键
所求是:每个专业里每个同学的根据专业均分的本专业排名,有好多的专业


表2:
课程号 课程名 学习类别 考生人数 平均分 学分 学时 优秀 良好 中等 及格 不及格
001 a 必修 9 85 36 2 2 4 2 1 0
002 b 必修 6 70 18 1 1 2 1 2 0
........
100 z 选修 10 90 9 .5 4 5 1 0 0
........
关键求优秀 良好 中等 及格 不及格个是多少人
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2005-05-03
  • 打赏
  • 举报
回复
vfp的处理建议转到vfp版去.
beyond20082002 2005-05-03
  • 打赏
  • 举报
回复
我想表1中的专业排名应该编程序实现,方法如下:
排名=1
专业名=第一条记录的专业名

当 记录没有结束
如果 专业名《》当前记录的专业名
排名=1
如果结束
当前记录的专业排名=排名
排名=排名+1
记录的下一条
当循环

我不会使用vfp,能不能将如何真正实现的方法和代码写一下
Well 2005-05-03
  • 打赏
  • 举报
回复
学年学期 学号 姓名 专业 班号 课程号 课程名 分数 学时 学分 学习类别 (字段)
求表1:学号 姓名 专业 专业均分 专业排名 专业总人数
注:我不知道怎么求专业排名
专业均分是: 所有(分数×学分)之和/总学时数
select sum(分数×学分)/sum(学时) from tablename group by 学号

表2: 课程号 课程名 学习类别 考生人数 平均分 学分 学时 优秀 良好 中等 及格 不及格
注:假设95分(包括95)以上优秀,85(包括85)-94良好,75(包括75)-84中等,
60(包括60)-74及格,60以下不及格
select *,
sum(case when 专业均分 between 95 and 100 then 1 else 0 end ) as 优秀
sum(case when 专业均分 between 85 and 94 then 1 else 0 end ) as 良好
sum(case when 专业均分 between 75 and 84 then 1 else 0 end ) as 中等
sum(case when 专业均分 between 60 and 74 then 1 else 0 end ) as 及格
sum(case when 专业均分 < 60 then 1 else 0 end ) as 不及格
from talbname
hualong7501 2005-05-03
  • 打赏
  • 举报
回复
对不起,刚才写错了
每个专业里每个同学的根据专业均分的本专业排名 应该是:
select * from 表1 group by 专业 order by 专业均分 desc
hualong7501 2005-05-03
  • 打赏
  • 举报
回复
每个专业里每个同学的根据专业均分的本专业排名
select * from 表1 order by 专业均分 desc group by 专业

求优秀 良好 中等 及格 不及格个是多少人
select count(优秀),count(良好),count(中等),count(及格),count(不及格) from 表2

在VFP中这样也应该是可以能运行的
beyond20082002 2005-05-02
  • 打赏
  • 举报
回复
我想可能一条sql语句解决不了

34,870

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧