|
我的改过后对了
SQL> with t as(select level n from dual connect by level<=1e5),
2 y(n,y,child) as(select n,1,decode(sign(mod(abs(dbms_random.random),5)-2.5),1,1,0.5) from t --girl 1 boy 0.5
3 union all
4 select n,y+1,child+decode(sign(mod(abs(dbms_random.random),5)-2.5),1,1,0.5) from y where round(child)=child and y<=10)
5 select sum(trunc(child)) girls,sum(mod(child,1))/0.5 boys
6 from y where mod(child,1)=0.5;
GIRLS BOYS
---------- ----------
66574 99998 |
|