|
〇〇 发表于 2013-11-20 19:59 ![]()
SQL> with t as(select 2*level+1 a from dual connect by level10
3 minus
4 select t1.a*t2.a ...
前面这个50秒
下面这个0.04秒
with t as(select 2*level+1 a from dual connect by level<50),
p as (select a from t where a>10
minus
select t1.a*t2.a from t t1,t t2 ),
p2 as (select p.a,p1.a b from p,p p1 where p.a<p1.a and (p.a+p1.a)/2 in (select a from p))
select a.a,a.b,b.b from p2 a,p2 b where a.b=b.a and (a.a+a.b+b.b)/3 in (select a from p)
and (a.a,b.b) in (select a,b from p2); |
|