| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1369 人关注过本帖
标题:晕倒:统计了各部门人员类别,不会统计全公司人员类别
只看楼主 加入收藏
zengjun81357
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-27
结帖率:87.5%
收藏
已结贴  问题点数:10 回复次数:31 
晕倒:统计了各部门人员类别,不会统计全公司人员类别

表ryhmc结构:
字段标题:姓名   部门名称   人员类别
字段:    name   deptname    psncl

结果表bm_ry结构:
部门  人数   行政管理人员(人数)       财务管理人员     营销管理人员    采购供应人员  ......
a部
b部
c部
................................................................
合计

我用下面命令统计每个部门中各类人员的人数,最后 合计一行怎样统计啊?加入下面语句中,或者再另加一条sele语句。各部门都可以统计,不会统计整体的,头晕。


SELECT deptname ,COUNT(*) as 人数,SUM(IIF(psncl='行政管理人员',1,0)) as 行政管理人员,SUM(IIF(psncl='财务管理人员',1,0)) as 财务管理人员,SUM(IIF(psncl='营销管理人员',1,0)) as 营销管理人员,SUM(IIF(psncl='采购供应人员',1,0)) as 采购供应人员,SUM(IIF(psncl='人力资源管理人员',1,0)) as 人力资源管理人员,SUM(IIF(psncl='信息资源管理人员',1,0)) as 信息资源管理人员,SUM(IIF(psncl='工程技术人员',1,0)) as 工资技术人员,SUM(IIF(psncl='生产管理人员',1,0)) as 生产管理人员,SUM(IIF(psncl='生产操作人员',1,0)) as 生产操作人员,SUM(IIF(psncl='服务人员',1,0)) as 服务人员 from ryhmc group by deptname  INTO TABLE bm_ry


[ 本帖最后由 zengjun81357 于 2013-1-21 12:28 编辑 ]
搜索更多相关主题的帖子: 人员 统计 
2013-01-21 12:26
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:2 
晕倒再爬起来
总会计 把你这表(bm_ry)中的累加起来不就行了
然后appe from到bm_ry中
2013-01-21 14:00
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:2 
楼主大概也想用一条select语句完成吧。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-01-21 16:19
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
回复 3楼 hu9jj
加合计 用一条语句行不

2013-01-21 16:35
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
可能有点难度,至少我还想不出来。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-01-21 16:56
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
应该不行
2013-01-21 18:06
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
应该这样统计吧
程序代码:
INSERT INTO bm_ry ((FIELD(1))) VALUES (PADC("小计",FSIZE(FIELD(1)),"-")) &&第一个字段必须为字符型,否则会出错
SELECT bm_ry
FOR I=1 TO FCOUNT()
    MFIELD=FIELD(I)
    IF TYPE(MFIELD)="N"
       *--- 数值型字段求和,并将结果添加到最后一条记录
       SUM &MFIELD TO HJ
       REPLACE RECORD RECCOUNT() (FIELD(I)) WITH HJ
       *--- 清空数值型字段内容为"0"的记录
       BLANK FIELD &MFIELD FOR &MFIELD=0
    ENDIF
ENDFOR
楼主可以试试

坚守VFP最后的阵地
2013-01-21 19:55
zengjun81357
Rank: 2
等 级:论坛游民
帖 子:73
专家分:20
注 册:2011-3-27
收藏
得分:0 
以下是引用sdta在2013-1-21 19:55:50的发言:

应该这样统计吧
INSERT INTO bm_ry ((FIELD(1))) VALUES (PADC("小计",FSIZE(FIELD(1)),"-")) &&第一个字段必须为字符型,否则会出错
SELECT bm_ry
FOR I=1 TO FCOUNT()
    MFIELD=FIELD(I)
    IF TYPE(MFIELD)="N"
       *--- 数值型字段求和,并将结果添加到最后一条记录
       SUM &MFIELD TO HJ
       REPLACE RECORD RECCOUNT() (FIELD(I)) WITH HJ
       *--- 清空数值型字段内容为"0"的记录
       BLANK FIELD &MFIELD FOR &MFIELD=0
    ENDIF
ENDFOR楼主可以试试
谢谢楼上的回复,只是用这么一段程序也不太简洁,还有点不好懂。
方法一:按照2楼的说法,对结果表bm_ry 进行汇总操作total to 临时表1,然后再  appe from 临时表1,比较明了。
方法二:原表增加一个公共字段:公司,然后两条sele 命令

SELECT 公司,deptname as 部门名称,COUNT(*) as 人数,SUM(IIF(psncl='行政管理人员',1,0)) as 行政管理人员,SUM(IIF(psncl='财务管理人员',1,0)) as 财务管理人员,SUM(IIF(psncl='营销管理人员',1,0)) as 营销管理人员,SUM(IIF(psncl='采购供应人员',1,0)) as 采购供应人员,SUM(IIF(psncl='人力资源管理人员',1,0)) as 人力资源管理人员,SUM(IIF(psncl='信息资源管理人员',1,0)) as 信息资源管理人员,SUM(IIF(psncl='工程技术人员',1,0)) as 工资技术人员,SUM(IIF(psncl='生产管理人员',1,0)) as 生产管理人员,SUM(IIF(psncl='生产操作人员',1,0)) as 生产操作人员,SUM(IIF(psncl='服务人员',1,0)) as 服务人员 from ryhmc group by 公司,deptname  INTO TABLE bm_ry
Insert  INTO  bm_ry   SELECT 公司,SUM(IIF(psncl='随意',1,0)) as deptname,COUNT(*) as 人数,SUM(IIF(psncl='行政管理人员',1,0)) as 行政管理人员,SUM(IIF(psncl='财务管理人员',1,0)) as 财务管理人员,SUM(IIF(psncl='营销管理人员',1,0)) as 营销管理人员,SUM(IIF(psncl='采购供应人员',1,0)) as 采购供应人员,SUM(IIF(psncl='人力资源管理人员',1,0)) as 人力资源管理人员,SUM(IIF(psncl='信息资源管理人员',1,0)) as 信息资源管理人员,SUM(IIF(psncl='工程技术人员',1,0)) as 工资技术人员,SUM(IIF(psncl='生产管理人员',1,0)) as 生产管理人员,SUM(IIF(psncl='生产操作人员',1,0)) as 生产操作人员,SUM(IIF(psncl='服务人员',1,0)) as 服务人员 from ryhmc  group by 公司
最后需要将  汇总行 部门名称 '0' 修改为 '合计'
2013-01-21 21:00
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
回复 8楼 zengjun81357
没错,就是这样
2013-01-21 21:05
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 8楼 zengjun81357
要想简洁:SUM命令与gather 命令结合起来使用
如果不会走,能学会跑吗

坚守VFP最后的阵地
2013-01-21 21:17
快速回复:晕倒:统计了各部门人员类别,不会统计全公司人员类别
数据加载中...
 
   



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

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