如何得出每个部门的人数????

billlyh 2012-08-02 09:09:04
如何得出每个部门的人数????
select语句得到结果如下:
chr_cl1 chr_cl2
A1供应部 罗杰泷
A1供应部 罗杰泷
A1供应部 罗杰泷
A1供应部 张国
C1系统支持 谢燕山
C1系统支持 谢燕山
上面的结果是A1供应部有两个人,C1系统支持有一个人
但是我想按人名来统计每个部门的人数,希望得到的结果是
chr_cl1 人数
A1供应部 2
C1系统支持 1
试了好几次,都试不出来,哪位兄弟帮帮忙啊?????????????


sql语句如下:
select t.chr_cl1,t.chr_cl2
from zd_report_temp t
where t.program_name in('INVGSTOT')
order by t.chr_cl1
...全文
249 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
billlyh 2012-08-13
[Quote=引用 1 楼 的回复:]
SQL code

--重復帖?
select chr_cl1,count(distinct(chr_cl2)) 人数
from zd_report_temp
group by chr_cl1;
[/Quote]
正解
回复
billlyh 2012-08-13
[Quote=引用 1 楼 的回复:]
SQL code

--重復帖?
select chr_cl1,count(distinct(chr_cl2)) 人数
from zd_report_temp
group by chr_cl1;
[/Quote]
正解
回复
billlyh 2012-08-13
[Quote=引用 1 楼 的回复:]
SQL code

--重復帖?
select chr_cl1,count(distinct(chr_cl2)) 人数
from zd_report_temp
group by chr_cl1;
[/Quote]
正解
回复
huangdh12 2012-08-07
简单的group by用法。
回复
sohome 2012-08-07
group by一下即可
回复
Qiao0328 2012-08-07
[Quote=引用 1 楼 的回复:]
SQL code

--重復帖?
select chr_cl1,count(distinct(chr_cl2)) 人数
from zd_report_temp
group by chr_cl1;
[/Quote]++
回复
billlyh 2012-08-06
正解,谢谢
回复
billlyh 2012-08-06
[Quote=引用 6 楼 的回复:]
SQL code

--创建部门表
create table department
(
chr_cl1 varchar2(100),
chr_cl2 varchar2(100)
)
--添加测试数据
insert into department
select 'A1供应部','罗杰泷' from dual union all
select 'A1供应部','罗杰泷' fro……
[/Quote]
正解,谢谢
回复
billlyh 2012-08-06
[Quote=引用 1 楼 的回复:]
SQL code

--重復帖?
select chr_cl1,count(distinct(chr_cl2)) 人数
from zd_report_temp
group by chr_cl1;
[/Quote]
正解,谢谢
回复
jinfreaks 2012-08-04
对不起,多了一个括号
select t.chr_cl1,count(t.chr_cl2) from 
(select distinct chr_cl1,chr_cl2 from zd_report_temp
where program_name in('INVGSTOT')
) t
group by chr_cl1
order by chr_cl1
回复
jinfreaks 2012-08-04
我觉得以下代码可能符合你的要求:


select t.chr_cl1,count(t.chr_cl2) from
(select distinct chr_cl1,chr_cl2) from zd_report_temp
where program_name in('INVGSTOT')
) t
group by chr_cl1
order by chr_cl1

回复
pengpeng409 2012-08-04
select chr_cl1,count(distinct chr_cl2)
from test
group by chr_cl1
回复

--创建部门表
create table department
(
chr_cl1 varchar2(100),
chr_cl2 varchar2(100)
)
--添加测试数据
insert into department
select 'A1供应部','罗杰泷' from dual union all
select 'A1供应部','罗杰泷' from dual union all
select 'A1供应部','罗杰泷' from dual union all
select 'A1供应部','张国' from dual union all
select 'C1系统支持','谢燕山' from dual union all
select 'C1系统支持','谢燕山' from dual
commit;
--部门人数统计
select chr_cl1 as 部门,count(distinct chr_cl2) as 人数 from department group by chr_cl1

--查询结果
A1供应部 2
C1系统支持 1
回复
fangxiaoni893436 2012-08-03
select t.chr_cl1,count(distinct t.chr_cl2)
from zd_report_temp t
where t.program_name in('INVGSTOT')
group by t.chr_cl1;
回复
fangxiaoni893436 2012-08-03
select t.chr_cl1,count(distinct t.chr_cl2)
from zd_report_temp t
where t.program_name in('INVGSTOT')
group by t.chr_cl1
回复
人生无悔 2012-08-02

--重復帖?
select chr_cl1,count(distinct(chr_cl2)) 人数
from zd_report_temp
group by chr_cl1;
回复
睿智天成 2012-08-02
以上就能够实现LZ所需的结果
回复
相关推荐
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2012-08-02 09:09
社区公告
暂无公告