有一张表
户号      姓名       分组
001      张一      1
001      张二      1
001      张三      1
002      李一      1
002      李二      1
003      王一      2
003      王二      2
004      刘一      3
005      况一      3
005      况二      3
006      唐一      4我想统计每个户号有多少个人,要把组给分出来,就是每一组的不同户号分别有多少人,怎么写语句啊

解决方案 »

  1.   

    select 户号,分组,count(*) from 表 group by 户号,分组
      

  2.   


    select 户号 , count(*) cnt from tb group by 户号select 分组 , count(*) cnt from tb group by 分组
      

  3.   

    select 户号,分组,count(姓名)記錄 from tb group by 户号,分组
      

  4.   

    select 户号 , count(*) cnt from tb group by 户号select 分组 , count(*) cnt from tb group by 分组select 分组 , 户号 , count(*) cnt from tb group by 分组 , 户号
      

  5.   

    select count(姓名) as 人数,姓名,户号
    from table 
    group by 户号,姓名
      

  6.   


    if object_id('tb') is not null drop table tb
    create table tb(户号 varchar(10), 姓名 varchar(50), 分组 int)
    insert into tb values('001' , '张一' , 1 )
    insert into tb values('001' , '张二' , 1 )
    insert into tb values('002' , '李一' , 1 )
    insert into tb values('002' , '李二' , 1 )
    insert into tb values('003' , '王一' , 2 )
    insert into tb values('003' , '王二' , 2 )
    insert into tb values('004' , '唐一' , 3 )select 分组,户号,sum(1) as 人数 from tb group by 分组,户号
    /*--
    1 001 2
    1 002 2
    2 003 2
    3 004 1
      

  7.   

    create table tb(户号 varchar(10), 姓名 varchar(10), 分组 int)
    insert into tb values('001' , '张一' , 1 )
    insert into tb values('001' , '张二' , 1 )
    insert into tb values('001' , '张三' , 1 )
    insert into tb values('002' , '李一' , 1 )
    insert into tb values('002' , '李二' , 1 )
    insert into tb values('003' , '王一' , 2 )
    insert into tb values('003' , '王二' , 2 )
    insert into tb values('004' , '刘一' , 3 )
    insert into tb values('005' , '况一' , 3 )
    insert into tb values('005' , '况二' , 3 )
    insert into tb values('006' , '唐一' , 4 )select 户号 , count(*) cnt from tb group by 户号 
    /*
    户号         cnt         
    ---------- ----------- 
    001        3
    002        2
    003        2
    004        1
    005        2
    006        1(所影响的行数为 6 行)
    */select 分组 , count(*) cnt from tb group by 分组 
    /*
    分组          cnt         
    ----------- ----------- 
    1           5
    2           2
    3           3
    4           1(所影响的行数为 4 行)
    */
    select 分组 , 户号 , count(*) cnt from tb group by 分组 , 户号
    /*
    分组          户号         cnt         
    ----------- ---------- ----------- 
    1           001        3
    1           002        2
    2           003        2
    3           004        1
    3           005        2
    4           006        1(所影响的行数为 6 行)*/
    drop table tb