select class from (select class,sum(decode(sex,'M',1)) man,sum(decode(sex,'F',1)) woman from school group by class) v where v.man=v.woman;
select class from (select class,decode(sex,'M',1,-1) sex_num from school) group by class having sum(sex_num)=0
SELECT CLASS ,CLASS_SEX_COUNT FROM ( SELECT CLASS , SEX COUNT(*) CLASS_SEX_COUNT FROM school GROUP BY CLASS,SEX ) GROUP BY CLASS ,CLASS_SEX_COUNT
SELECT CLASS ,CLASS_SEX_COUNT FROM ( SELECT CLASS , SEX, COUNT(*) CLASS_SEX_COUNT FROM school GROUP BY CLASS,SEX ) GROUP BY CLASS ,CLASS_SEX_COUNT 上面的丢了个逗号!
select t.class, t.malenum, t.femalenum from ( select male.class, male.malenum malenum, female.femalenum femalenum from ( select class, count(sex) malenum from school where sex='M' group by class ) male, ( select class, count(sex) femalenum from school where sex='F' group by class ) female where male.class=female.class ) t where t.malenum=t.femalenum
select a.class from (select class ,sex ,count(name) man from school group by (class,sex) having sex='m') a, (select select class ,sex ,count(name) f from school group by (class,sex) having sex='f')b where a.class=b.class and man=f;
select a.class from (select class, sum(decode(sex, 'm', 1)) x from school group by class ) a, (select class, sum(decode(sex, 'f', 1)) y from school group by class) b where a.class = b.class and a.x=b.y
SQL code select class from (select class,decode(sex,'M',1,-1) sex_num from school) group by class having sum(sex_num)=0 [/Quote]思路清晰,易理解,学习了
select a.class from (select class, sum(decode(sex, 'm', 1)) x from school group by class ) a, (select class, sum(decode(sex, 'f', 1)) y from school group by class) b where a.class = b.class and a.x=b.y
(select class,sum(decode(sex,'M',1)) man,sum(decode(sex,'F',1)) woman from school group by class) v
where v.man=v.woman;
from
(select class,decode(sex,'M',1,-1) sex_num
from school)
group by class
having sum(sex_num)=0
SELECT CLASS , SEX COUNT(*) CLASS_SEX_COUNT FROM school GROUP BY CLASS,SEX
) GROUP BY CLASS ,CLASS_SEX_COUNT
SELECT CLASS , SEX, COUNT(*) CLASS_SEX_COUNT FROM school GROUP BY CLASS,SEX
) GROUP BY CLASS ,CLASS_SEX_COUNT
上面的丢了个逗号!
select t.class,
t.malenum,
t.femalenum
from
(
select male.class,
male.malenum malenum,
female.femalenum femalenum
from
(
select class,
count(sex) malenum
from school
where sex='M'
group by class
) male,
(
select class,
count(sex) femalenum
from school
where sex='F'
group by class
) female
where male.class=female.class
) t
where t.malenum=t.femalenum
(select class ,sex ,count(name) man from school group by (class,sex) having sex='m') a,
(select select class ,sex ,count(name) f from school group by (class,sex) having sex='f')b
where a.class=b.class and man=f;
from (select class, sum(decode(sex, 'm', 1)) x from school group by class ) a,
(select class, sum(decode(sex, 'f', 1)) y from school group by class) b
where a.class = b.class and a.x=b.y
select class
from
(select class,decode(sex,'M',1,-1) sex_num
from school)
group by class
having sum(sex_num)=0
[/Quote]思路清晰,易理解,学习了
from (select class, sum(decode(sex, 'm', 1)) x from school group by class ) a,
(select class, sum(decode(sex, 'f', 1)) y from school group by class) b
where a.class = b.class and a.x=b.y