日期:2014-05-18  浏览次数:20431 次

求SQL语句,一列出现相同值的次数
例如,有一个表叫Company,包含两个列(姓名,部门)

姓名         部门
---------------
coosh         电脑部
alex           财务
cathy         空运
carmen       财务
Apple         财务
Karen         海运
……           ……

要生成一个统计各部门的人数表(部门数不确定)
部门         人数
----------------
财务         3
海运         1
空运         1
电脑部     1
……         ……

请问这个sql语句怎么写呢?




------解决方案--------------------
SELECT 部门,COUNT(*) FROM TABLE GROUP BY 部门
------解决方案--------------------
SELECT 部门,COUNT(*) 人数 FROM TABLE GROUP BY 部门

------解决方案--------------------
create table #Company (姓名 nvarchar(20),部门 nvarchar(20))

insert into #Company values( 'coosh ' , '电脑部 ')
insert into #Company values( 'alex ' , '财务 ')
insert into #Company values( 'cathy ' , '空运 ')
insert into #Company values( 'carmen ' , '财务 ')
insert into #Company values( 'Apple ' , '财务 ')
insert into #Company values( 'Karen ' , '海运 ')

select 部门 ,count(*) from #Company group by 部门

drop table #Company
------解决方案--------------------
修改字段名字
create table #Company (姓名 nvarchar(20),部门 nvarchar(20))

insert into #Company values( 'coosh ' , '电脑部 ')
insert into #Company values( 'alex ' , '财务 ')
insert into #Company values( 'cathy ' , '空运 ')
insert into #Company values( 'carmen ' , '财务 ')
insert into #Company values( 'Apple ' , '财务 ')
insert into #Company values( 'Karen ' , '海运 ')

select 部门 ,count(*)as 人数 from #Company group by 部门

drop table #Company

结果
部门 人数
财务 3
电脑部 1
海运 1
空运 1