zi584 发表于 2008-6-26 13:18

求助!!!!!!!!!!求助!!!!!!!!!!!!!!!!

如何进行统计每个班各科成绩的平均分、及格率、优秀率?另外这三率,不是全班的学生都参评,而是以同年级中人数最少的班级为参评人数,从而来算各科成绩的平均分,及格率和优秀率!

Tiger5392 发表于 2008-6-26 17:41

你的问题是:如何统计同年级中人数最少的班级的各科成绩的平均分、及格率、优秀率?

zi584 发表于 2008-6-27 21:06

不是统计同年级中人数最少的班级各科成绩啊!我给你举例说明我需要的问题"

     比如,一年级有3个班,但每个班的人数不一样的.有30人,40人,35人.我现在要统计的是这三个班的各科成绩,那么我需要以30来作为标准,也就是说这三个班都选取30人来进行统计!!

Tiger5392 发表于 2008-6-27 23:08

以3楼的为准,就直接写3楼的话嘛,非要弄成1楼的话。
但是发现3楼的也有问题啊,以30人为基础,在40人的班级中找出30人来统计,你还需要指出我必须拿哪30个人的成绩来统计,否则将会有很多个不同的结果。

zi584 发表于 2008-6-28 12:25

每个班的前30 名啊!  你的qq号是多少?我能加你吗?这样问题方便些!

Tiger5392 发表于 2008-6-30 21:55

不反复问,你就不一次将要求写完。
思路:求出每班人数,找出最小数,计算平均值、优秀率、及格率。

zi584 发表于 2008-7-1 21:15

不好意思啊!你说的思路就是我要的呀!
    先找出各班人数,找出最少的人数,然后来计算平均分,及格率,优秀率.
    算出来后,能不能直接生成一个新表呢?

qjbzjp 发表于 2008-7-2 10:00

编程思路

1、每班建一个库: 班1、班2、班3 。库中建一个汇总字段hz,数字型,1
   use 班1 in 1
   use 班2 in 2
   use 班3 in 3

2、每班的库按总成绩大到小排序
3、新建一个年级库:COPY STRUCTURE to new
                   use new in 4
4、每个班的库按下面操作:
  sele 1
  SET FILTER TO recn()<=最小人数班   &&按最小班人数过滤每个库
 copy to temp1
  sele 4
  appe from temp1  &&将每个班记录读入年级库中
  ……
5、sele 4
  repl all hz with 1 
  INDEX ON hz to temp
  total to hzk on hz && 合计所有的数值型字段。hzk是新库,只有一条记录,每个数字字段中是合计好的数
  sele 5
  use hzk
  再做其它计算吧……

页: [1]

编程论坛