select class from (
select class,sum(decode(sex),'M',1,0) Male,sum(decode(sex),'F',1,0) Female from schools group by class)
where Male=Female;

解决方案 »

  1.   

    It is generally considered that a type of static data is faster and occupis less space than a dynamic one when the length of each field value is same, 
    so the data type of field sex can be changed into CHAR(1).
      

  2.   

    select class,sum(male),sum(female) from(
    select class,case when sex='M' then count(sex) end male,
                 case when sex='F' then count(sex) end female
    from schools group by class,sex)
    group by class having sum(male)=sum(female);
      

  3.   

    select class from (
    select class,sum(decode(sex,'M',1,0)) Male,sum(decode(sex,'F',1,0)) Female from schools 
    group by class)
    where Male=Female;