标题:如何统计各学科人数?
只看楼主
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
结帖率:96.99%
已结贴  问题点数:20 回复次数:10 
如何统计各学科人数?
如何统计jsrkb.dbf中各学科的人数(其中姓名有重复),望高手赐教,万分感谢!!!
统计各学科人数.rar (1.35 KB)
搜索更多相关主题的帖子: 统计 重复 dbf 姓名 
2020-04-07 08:19
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
不计算重复的?
2020-04-07 08:29
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
重复的只算一次
2020-04-07 08:33
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:2 
** 只能1个个字段分开算,1句话的还没有想到
SELECT COUNT(DISTINCT NJ) as 年级 FROM jsrkb
SELECT COUNT(DISTINCT BJ) as 班级 FROM jsrkb
...

2020-04-07 08:49
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:565
专家分:1668
注 册:2017-7-16
得分:2 
SELECT 班会 DISTINCT FROM jsrkb WHERE !EMPTY(班会) INTO ARRAY  班会S
?ALEN(班会S)

这是计算[班会]

我想,也只能一步步来做,一下子完成恐怕不行的。

[此贴子已经被作者于2020-4-7 09:01编辑过]

2020-04-07 08:50
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:2 
未在电脑上测试,请你自己试一试,仅以统计班会为例,其余类似:
SELECT DISTINCT 班会 FROM jsrkb where !empt(班会) INTO CURSOR js
SELECT COUNT(班会) as zrs FROM js into array rc

也可以合成一句:
SELECT COUNT(班会) as zrs FROM (SELECT DISTINCT 班会 FROM jsrkb where !empt(班会)) B INTO ARRAY rc

仅供参考。


[此贴子已经被作者于2020-4-7 08:56编辑过]

2020-04-07 08:53
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:2 
或者这样,只几个,其他的,你按格式加,另外,要把你表中的,合计,这个记录删除掉。
SELECT t1.年级,t2.班级,t3.班会,t4.道德 from ;
(SELECT 1 as id,COUNT(DISTINCT NJ) as 年级 FROM jsrkb) as t1, ;
(SELECT 1 as id,COUNT(*) as 班级 FROM (SELECT DISTINCT NJ,BJ FROM jsrkb) as t0 ) as t2, ; && 班级统计,要用年级+班级
(SELECT 1 as id,COUNT(DISTINCT 班会) as 班会 FROM jsrkb) as t3, ;
(SELECT 1 as id,COUNT(DISTINCT 道德) as 道德 FROM jsrkb) as t4 ;
WHERE t1.id=t2.id AND t1.id=t3.id AND t1.id=t4.id
2020-04-07 09:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:12 
程序代码:
CLOSE DATABASES 
USE jsrkb
BLANK FOR RECNO() = RECCOUNT()
FOR i = 3 TO FCOUNT()
    INDEX on EVALUATE(FIELD(i)) TO aa UNIQUE FOR NOT EMPTY(EVALUATE(FIELD(i)))
    COUNT TO hj
    SET ORDER TO 
    REPLACE RECORD RECCOUNT() (FIELD(i)) WITH TRANSFORM(hj), nj WITH "合计"
ENDFOR
BROWSE 
USE 
ERASE aa.idx


[此贴子已经被作者于2020-4-7 10:10编辑过]


坚守VFP最后的阵地
2020-04-07 10:04
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:0 
程序代码:

SET SAFETY OFF 
SET ENGINEBEHAVIOR 70
CREATE TABLE xkrstj (xkmc c(10),rs n(3))
CLOSE DATABASES 
SELECT 0
USE xkrstj ALIAS tj
SELECT 0
USE jsrkb ALIAS kb
FOR i=3 TO FCOUNT()
  zdm=FIELD(i)
  SELECT EVALUATE(zdm) as kg FROM kb  INTO TABLE tmp
  SELECT tmp
  SELECT kg FROM tmp WHERE !EMPTY(kg) GROUP BY kg INTO CURSOR ttt
  SELECT ttt
  nn=RECCOUNT()
  SELECT tj
  APPEND BLANK 
  REPLACE xkmc WITH zdm,rs WITH nn
  SELECT ttt
  USE 
  SELECT tmp
  USE 
  SELECT kb
ENDFOR 
SELECT tj
BROWSE


只求每天有一丁点儿的进步就可以了
2020-04-09 15:26
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:0 
合计数写到JSRKB上的话一统计 就改变了JSRKB表的记录数,在课表处理时,就会出错。

表尾写合计是数据处理的大忌。

只求每天有一丁点儿的进步就可以了
2020-04-09 15:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500893-1-1.html




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

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