查询每个部门的人员名字,和人员总数. 
create table a(id int,name varchar(20),depname varchar(20)) 
name为人员名字.
depname 为部门名字.

解决方案 »

  1.   

    select depname,name,b.cnt  from a inner join 
    (
    select depname,count(1) cnt from a group by depname) b
    on a.depname=b.depname
      

  2.   

    create table a(id int,name varchar(20),depname varchar(20)) insert into a
    select 1,'test1','it' union all
    select 2,'test2','it' union all
    select 3,'test3','accounting'
    select a.depname,name,b.num  from a inner join 
    (
    select depname,count(1) num from a group by depname) b
    on a.depname=b.depnamedrop table a
      

  3.   

    select case when grouping(depname) = 1 then '总计' else depname end 部门,
           case when grouping(depname) = 1 then '' 
                when grouping(name)=1 then '合计'
           else name end 姓名,count(*) 人数 
    from   a
    group  by depname,name
    with   rollup
      

  4.   

    --或者用下面的compute by实现
    select depname 部门,name 姓名
    from   a
    order by depname
    compute count(name)  by depname
      

  5.   

    查询每个部门的人员名字,和人员总数. 
    create table a(id int,name varchar(20),depname varchar(20)) 
    name为人员名字.
    depname 为部门名字.select depname as 部门名字, count(*) as 人员总数 from a group by depname
      

  6.   

    我测试过了,你可以用:
    select a1.depname,a1.[name],(select count(*)
                                 from a a2
                                 where a1.depname = a2.depname
                                 group by depname) 员工人数
    from a a1
    order by a1.depname
      

  7.   

    select name,depname,countname=(select count(*) from a where depname=b.depname group by depname) from a b
      

  8.   

    create table customer(id int,name varchar(20),email varchar(20))
    create table dianying(id int,name varchar(20))
    create table zhongjian(id int ,cid int ,did int)
    insert into customer values(3,'ccccc','[email protected]')
    insert into dianying values(2,'积极')
    insert into zhongjian values(2,1,3)
    select * from customer
    select * from dianying
    select * from zhongjian
    select c.name,c.email,d.name from customer as c,dianying as d where c.id=2 and d.id=(select did from zhongjian where cid=2)