| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1142 人关注过本帖
标题:请教一个统计分数段的程序
只看楼主 加入收藏
glheghhu
Rank: 1
等 级:新手上路
帖 子:24
专家分:3
注 册:2015-1-6
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:14 
请教一个统计分数段的程序
如题:如有一个包含20000个记录的成绩库(cjk.dbf),其中有字段(zcj),现在要对zcj进行分段统计,以1分为等差,统计从0分至650分的分数段人数,并输出到新表(tjk),请问程序要怎么写呢?求助各位老大,谢谢!
搜索更多相关主题的帖子: 统计 记录 
2015-07-07 15:10
欧阳mh
Rank: 2
等 级:论坛游民
威 望:3
帖 子:21
专家分:57
注 册:2015-6-10
收藏
得分:10 


SELECT zcj,COUNT(zcj) FROM cjk WHERE BETWEEN(zcj,0,650) GROUP BY zcj INTO TABLE tjk




2015-07-07 15:52
glheghhu
Rank: 1
等 级:新手上路
帖 子:24
专家分:3
注 册:2015-1-6
收藏
得分:0 
谢谢大神,已经搞定了。
2015-07-07 16:26
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2232
专家分:3913
注 册:2007-4-27
收藏
得分:0 
以下是引用欧阳mh在2015-7-7 15:52:07的发言:



SELECT zcj,COUNT(zcj) FROM cjk WHERE BETWEEN(zcj,0,650) GROUP BY zcj INTO TABLE tjk

 我的领导要500-300分间是一分一个分数段,500分以上是要一个总数的,一句话完成,该如何办办呢?

只求每天有一丁点儿的进步就可以了
2015-07-07 17:06
欧阳mh
Rank: 2
等 级:论坛游民
威 望:3
帖 子:21
专家分:57
注 册:2015-6-10
收藏
得分:0 
回复 4楼 wengjl


SELECT zcj,COUNT(zcj) FROM cjk WHERE BETWEEN(zcj,300,500) GROUP BY zcj INTO TABLE tjk UNION SELECT 501,COUNT(zcj) FROM cjk WHERE zcj>500
2015-07-07 17:38
欧阳mh
Rank: 2
等 级:论坛游民
威 望:3
帖 子:21
专家分:57
注 册:2015-6-10
收藏
得分:0 


SELECT STR(lysl,7),COUNT(lysl) FROM v_sgxt WHERE BETWEEN(lysl,300,500) GROUP BY lysl INTO CURSOR tjk UNION SELECT '500以上',COUNT(lysl) FROM v_sgxt WHERE lysl>500
这样清楚一点
2015-07-07 17:43
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
以下是引用欧阳mh在2015-7-7 15:52:07的发言:



SELECT zcj,COUNT(zcj) FROM cjk WHERE BETWEEN(zcj,0,650) GROUP BY zcj INTO TABLE tjk
简练
2015-07-07 21:05
glheghhu
Rank: 1
等 级:新手上路
帖 子:24
专家分:3
注 册:2015-1-6
收藏
得分:0 
以下是引用欧阳mh在2015-7-7 15:52:07的发言:



SELECT zcj,COUNT(zcj) FROM cjk WHERE BETWEEN(zcj,0,650) GROUP BY zcj INTO TABLE tjk

是啊,太简练了,我之前用EXCEL做了一个晚上....想起那个累啊!还是要加强学习。
2015-07-08 11:16
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2232
专家分:3913
注 册:2007-4-27
收藏
得分:0 
to 欧阳mh
谢谢!
我的中考成绩最小单位是0.25分,一试太细了。还是用循环。 再次感谢

只求每天有一丁点儿的进步就可以了
2015-07-08 15:41
欧阳mh
Rank: 2
等 级:论坛游民
威 望:3
帖 子:21
专家分:57
注 册:2015-6-10
收藏
得分:0 
回复 9楼 wengjl

如果成绩不是整数,加个中间临时表(lsk),楼主提出问题时我也考虑到会不会有这个状态:
SELECT INT(zcj) AS zcj FROM cjk WHERE BETWEEN(zcj,0,650) INTO CURSOR lsk
SELECT zcj,COUNT(zcj) FROM lsk GROUP BY zcj INTO TABLE tjk


再,如果要以5分为区段统计的话,加临时表(lsk)和临时字段(lszd):
SELECT INT(zcj/5) AS lszd,zcj FROM v_sgxt WHERE BETWEEN(zcj,0,650) INTO CURSOR lsk
SELECT STR(lszd*5)+'-'+LTRIM(STR((lszd+1)*5-1)),COUNT(zcj) FROM lsk GROUP BY lszd INTO TABLE tjk




2015-07-09 09:39
快速回复:请教一个统计分数段的程序
数据加载中...
 
   



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

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