查出一个表里面的男生和女生分别多少个select count(*) as 男生 from customer where sex = '男'这样的话 女生又要重新打一下 能否直接在结果里面分两列 分别是女生人数和男生人数

解决方案 »

  1.   

    select sum( case when sex = '男'  then 1 else 0 end)  男生,
           sum( case when sex = '女'  then 1 else 0 end)  女生
      from customer 
      

  2.   

    select sum(case when sex='男' then 1 else 0 end) as 男生,
           sum(case when sex='女' then 1 else 0 end) as 女生,
           sum(case when sex not in ('男','女') then 1 else 0 end) as 未知
        from customer