select class_id
from t_class t
group by class_id
having sum(decode(t.sex, 'male', 1, 'female', -1, 0)) = 0;
select * from t_class;
select male.cid, female.cid
from (select t1.class_id cid, count(1) total
from t_class t1
where t1.sex = 'male'
group by t1.class_id) male,
(select t2.class_id cid, count(1) total
from t_class t2
where t2.sex = 'female'
group by t2.class_id) female
where male.total = female.total
and male.cid = female.cid;
两种写法 两种思路 但是第二种的写法会存在问题 考虑不全面 记下先