每个专业里每个同学的根据专业均分的本专业排名 select * from 表1 order by 专业均分 desc group by 专业求优秀 良好 中等 及格 不及格个是多少人 select count(优秀),count(良好),count(中等),count(及格),count(不及格) from 表2在VFP中这样也应该是可以能运行的
对不起,刚才写错了 每个专业里每个同学的根据专业均分的本专业排名 应该是: select * from 表1 group by 专业 order by 专业均分 desc
学年学期 学号 姓名 专业 班号 课程号 课程名 分数 学时 学分 学习类别 (字段) 求表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
select * from 表1 order by 专业均分 desc group by 专业求优秀 良好 中等 及格 不及格个是多少人
select count(优秀),count(良好),count(中等),count(及格),count(不及格) from 表2在VFP中这样也应该是可以能运行的
每个专业里每个同学的根据专业均分的本专业排名 应该是:
select * from 表1 group by 专业 order by 专业均分 desc
排名=1
专业名=第一条记录的专业名当 记录没有结束
如果 专业名《》当前记录的专业名
排名=1
如果结束
当前记录的专业排名=排名
排名=排名+1
记录的下一条
当循环我不会使用vfp,能不能将如何真正实现的方法和代码写一下
求表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