回 帖 发 新 帖 刷新版面

主题:用vfp求各班各科平均分

我们学校六年级有18个个班,每个学生设有编号:如601班的编号:60101001,6010102,6010103…6010130,6010201……(编号:第一位是年级,第二、三是班级,第四、五是考场,第六、七是每考场的顺序号。),求各班各科平均成绩。各位能不能说明白一点,具体一点,最后怎么样把各班各科的平均分搞到一个新表里。

回复列表 (共5个回复)

沙发


CREATE CURSOR CJB (编号 C(7),语文 N(6,2),数学 N(6,2),总成绩 N(6,2))
INSERT INTO CJB (编号,语文,数学) VALUES ("0701001",120.00,110.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0701002",100.00,120.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0701003",110.00,100.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0702001",120.00,100.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0702002",125.00,120.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0702003",116.00,109.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0711001",121.00,113.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0711002",105.00,126.00)
INSERT INTO CJB (编号,语文,数学) VALUES ("0711003",117.00,150.00)
REPLACE ALL 总成绩 WITH 语文+数学
SYS(3099,70)
*----按班级算平均分
SELECT LEFT(编号,4) AS 班级,AVG(语文) AS 语文1,AVG(数学) AS 数学1,AVG(总成绩) AS 总成绩1 FROM CJB GROUP BY 班级 INTO CURSOR CJB1
BROWSE

板凳

不错哦,我对这个就是小白,学习一下.

3 楼

AVG(语文) AS 语文1。是得好好比较出来的。















SIGNATURE:-------------------------------------------------------
It's a poor mouse that has only one hole,a guest is never welcome.
[url=http://www.latestfrees.com/nike-free-run-2-men-c-33.html]nike free run 2[/url]    ,    [url=http://www.latestfrees.com/nike-lunareclipse-2-men-c-46.html]nike lunareclipse 2[/url]   ,    [url=http://www.latestfrees.com/nike-air-max-2012-men-c-37.html]air max 2012[/url]

4 楼

个人认为,这个还要看你的表文件如何构造。我建议表文文件结构这样:
班级、学号、姓名、课程名字、成绩。每个学生可有多条记录,对应每门课的成绩。这种结构要统计各班平均分就相当简单了。
1、统计总平均分
[color=FF0000][size=4]SELECT 班级, AVG(成绩) AS 总平均 FROM 表名 GROUP BY 班级[/size][/color]
2、统计各科平均
[color=FF0000][size=4]SELECT 班级,课程名称,AVG(成绩) AS 平均分 FROM 表名 GROUP BY 班级,课程名称[/size][/color]

这两条语句在FoxPro 2.5或以上版本都可用,无需用SYS()函数专门兼容一下。

5 楼

学习一下











我来回复

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