我写的确实有重复,去除重复就更慢了:
WITH n AS (SELECT LEVEL n,POWER(2,LEVEL-1) bit FROM DUAL CONNECT BY LEVEL t1.n and t3.n > t2.n and t4.n > t3.n and t5.n > t4.n
and 150- (t1.n + t2.n + t3.n + t4.n + t5.n) between 1 and 49
AND 150- (t1.n + t2.n + t3.n + t4.n + t5.n) NOT IN (t1.n , t2.n , t3.n , t4.n , t5.n);
COUNT(DISTINCTT1.BIT+T2.BIT+T3.BIT+T4.BIT+T5.BIT+POWER(2,150-T1.N-T2.N-T3.N-T4.N-T5.N-1))
-----------------------------------------------------------------------------------------
165772
Elapsed: 00:00:08.35
|