select z.grade, z.class, [总人数]=count(*), 
       [男生人数]=sum(case when sex='男' then 1 else 0 end),
       [女生人数]=sum(case when sex='女' then 1 else 0 end)
from student z
group by z.grade, z.class

解决方案 »

  1.   

    select grade,class,sum(*) as 总人数,sum(case sex when '男' then 1 else 0 end) as 男生人数,sum(case sex when '女' then 1 else 0 end) as 女生人数
    from student
    group by grade,class
      

  2.   

    select grade, class, count(*) as 总人数, 
    sum(case when sex='男' then 1 else 0 end) as 男生人数,
    sum(case when sex='女' then 1 else 0 end) as 女生人数
    from student
    group by grade, class
      

  3.   

    select grade,class,count(*) as 总人数,sum(case sex when '男' then 1 else 0 end) as 男生人数,sum(case sex when '女' then 1 else 0 end) as 女生人数
    from student
    group by grade,class
      

  4.   

    太感谢了,大虾能否告知您的email谢谢。