| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1026 人关注过本帖
标题:如何统计每个人的值班天数
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:615
专家分:3
注 册:2018-1-4
结帖率:97.14%
收藏
已结贴  问题点数:20 回复次数:15 
如何统计每个人的值班天数
现有表文件ZBB.dbf,如何统计每个人的值班天数? 请高手赐教,万分感谢!!!
ZBB.rar (692 Bytes)

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: dbf 文件 统计 天数 
2023-05-18 15:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
是不是每个名字出现的次数
2023-05-18 16:08
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:987
专家分:4946
注 册:2013-2-16
收藏
得分:6 
代码供参考:
程序代码:
LOCAL col1 
LOCAL ii
DIMENSION arr1[1]

CLOSE TABLES ALL 
USE zbts IN 0 EXCLUSIVE 
USE zbb IN 0 SHARED 

CREATE CURSOR tmphz (xm C(20) NOT NULL , ts i NOT null)
AFIELDS(arr1 ,'zbb')

ii = 0
FOR ii = 1 TO ALEN(arr1,1) 
    col1 = arr1[ii,1] 
    INSERT INTO tmphz (xm,ts) ;
    SELECT &col1 as xm ,1 as ts FROM zbb 
ENDFOR 

INSERT INTO zbts (姓名, 值班天数) ;
SELECT xm as 姓名,SUM(ts) as 值班天数 FROM tmphz GROUP BY xm

USE IN tmphz
2023-05-18 16:31
阳光上的桥
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:38
帖 子:129
专家分:772
注 册:2023-1-12
收藏
得分:2 
我也是初学者,下面的方法好像很笨,回帖只为做标记,等高手解答。下面两条命令,执行第一条后按CTRL+F2回到命令窗口,再执行第二条:

select OCT_1 from zbb union all select OCT_2 from zbb  union all select OCT_3 from zbb  union all select OCT_4 from zbb union all select OCT_5 from zbb  union all select OCT_6 from zbb  union all select OCT_7 from zbb

select OCT_1,count(*) from query group by OCT_1

图片附件: 游客没有浏览图片的权限,请 登录注册
2023-05-18 16:32
王咸美
Rank: 1
等 级:新手上路
帖 子:615
专家分:3
注 册:2018-1-4
收藏
得分:0 
@吹水佬 对!就是统计每个名字出现的次数。
2023-05-18 16:39
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:6 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
SELECT * FROM zbb INTO ARRAY arr
DIMENSION arr[ALEN(arr,1)*ALEN(arr,2),1] 
CREATE CURSOR tmp (姓名 v(10))
INSERT INTO tmp FROM ARRAY arr
SELECT 姓名,COUNT(*) 值班天数 FROM tmp GROUP BY 姓名 ORDER BY 姓名


[此贴子已经被作者于2023-5-18 17:26编辑过]

2023-05-18 17:23
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9808
专家分:26967
注 册:2012-2-5
收藏
得分:6 
SELECT * FROM zbb INTO ARRAY azbb
DIMENSION azbb[ALEN(azbb, 0), 1]
CREATE CURSOR test (xm c(10))
INSERT INTO test FROM ARRAY azbb
SELECT xm, COUNT(*) 值班天数 FROM test GROUP BY 1 INTO CURSOR zbts
BROWSE

坚守VFP最后的阵地
2023-05-18 17:35
王咸美
Rank: 1
等 级:新手上路
帖 子:615
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢各位高手的热心指点!
2023-05-18 19:58
wj0216
Rank: 2
等 级:论坛游民
帖 子:8
专家分:12
注 册:2015-11-12
收藏
得分:0 
回复 6楼 吹水佬
漂亮
2023-05-19 15:07
wj0216
Rank: 2
等 级:论坛游民
帖 子:8
专家分:12
注 册:2015-11-12
收藏
得分:0 
以下是引用sdta在2023-5-18 17:35:40的发言:

SELECT * FROM zbb INTO ARRAY azbb
DIMENSION azbb[ALEN(azbb, 0), 1]
CREATE CURSOR test (xm c(10))
INSERT INTO test FROM ARRAY azbb
SELECT xm, COUNT(*) 值班天数 FROM test GROUP BY 1 INTO CURSOR zbts
BROWSE

2023-05-19 15:08
快速回复:如何统计每个人的值班天数
数据加载中...
 
   



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

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