| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 802 人关注过本帖
标题:求教:统计各校各科优秀良好合格人数(率)
取消只看楼主 加入收藏
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
求教:统计各校各科优秀良好合格人数(率)
求教:有成绩表,想统计出各校各学科优秀、良好、及格率(或者人数也可以),但没想出如何用循环方法实现自动统计(虽然做过类似请教,也爬论坛,但是只会逐句用count统计,没学会简洁的循环语句统计)
zcj.zip (254.91 KB)

*--*创建各科优秀良好及格段次表
CREATE CURSOR bz (km c(10), n1 N(6, 2), n2 N(6, 2), n3 N(6, 2))
INSERT INTO bz VALUES ("语文", 90,105,120)
INSERT INTO bz VALUES ("数学", 90,105,120)
INSERT INTO bz VALUES ("英语", 90,105,120)
INSERT INTO bz VALUES ("物理", 60,70,80)
INSERT INTO bz VALUES ("化学", 60,70,80)
INSERT INTO bz VALUES ("政治", 60,70,80)
INSERT INTO bz VALUES ("历史", 60,70,80)
INSERT INTO bz VALUES ("地理", 60,70,80)
INSERT INTO bz VALUES ("生物", 60,70,80)
&&&BROWSE
SELECT n1, n2,n3 FROM bz INTO ARRAY abz
USE zcj IN 0
*--*创建统计表结构
SELECT km  FROM bz INTO ARRAY arr_km
SELECT DISTINCT czxxdm FROM zcj ORDER BY czxxdm INTO ARRAY arr_czxxdm
cmd = "CREATE CURSOR tt (czxxdm c(8),zrs I"
FOR i=1 TO ALEN(arr_km)
    cmd = cmd + ","  + "优" + arr_km[i] + " n(6,2)" + ","  + "良" + arr_km[i] + " n(6,2)" + ","  + "及" + arr_km[i] + " n(6,2)"
ENDFOR
cmd = cmd + ")"
EXECSCRIPT(cmd)
APPEND FROM ARRAY arr_czxxdm
BROWSE
*--*计算统计各校各科优秀良好合格人数??



[此贴子已经被作者于2023-10-12 12:49编辑过]

搜索更多相关主题的帖子: 统计 VALUES INTO cmd INSERT 
2023-10-12 11:52
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 2楼 sdta
优秀是大于等于bz表中的n3,同理良好n2及格n1,比如语文分别是120/105/90

[此贴子已经被作者于2023-10-12 13:11编辑过]

2023-10-12 13:08
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 4楼 sdta
这个涉及向上包含或者不包含因素,都可以,因为想转换成优秀率、良好率、及格率,所以此处选择的是包含,以语文为例优秀是>=120,良好是>=105,及格是>=90
2023-10-12 13:32
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 5楼 schtg
谢谢,学习了,你这个比我最开始的简洁不少,我原来用的是count逐个统计赋值到数组再写回来,但这样通用性不强,如果库结构改变,需要逐句修改。
2023-10-12 13:35
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 4楼 sdta
对,这是最准确的方式了,期待高手的思路和解决方式

[此贴子已经被作者于2023-10-12 14:26编辑过]

2023-10-12 13:38
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 5楼 schtg
如果是统计优秀率、良好率、及格率应该怎么写,我尝试在你sum语句后面改,没成功
2023-10-12 17:31
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 10楼 sdta
版主的思维的逻辑性太强了,谢谢,不过语句对我有点复杂,慢慢学习消化。
2023-10-13 08:11
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 11楼 schtg
谢谢,对我这样新手,这是比较容易理解的语句模式,运行速度也很快
2023-10-13 08:12
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
@sdta@sdta感谢两位帮助,结贴时点击错误了,请见谅
2023-10-13 09:14
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 15楼 sostemp
已给定了各自分数段,>=n1是及格,>=n2为良好,>=n3为优秀
*--*创建各科优秀良好及格段次表
CREATE CURSOR bz (km c(10), n1 N(6, 2), n2 N(6, 2), n3 N(6, 2))
INSERT INTO bz VALUES ("语文", 90,105,120)
INSERT INTO bz VALUES ("数学", 90,105,120)
INSERT INTO bz VALUES ("英语", 90,105,120)
INSERT INTO bz VALUES ("物理", 60,70,80)
INSERT INTO bz VALUES ("化学", 60,70,80)
INSERT INTO bz VALUES ("政治", 60,70,80)
INSERT INTO bz VALUES ("历史", 60,70,80)
INSERT INTO bz VALUES ("地理", 60,70,80)
INSERT INTO bz VALUES ("生物", 60,70,80)

[此贴子已经被作者于2023-10-25 16:38编辑过]

2023-10-25 16:36
快速回复:求教:统计各校各科优秀良好合格人数(率)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042206 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved