

rank() over(order by c2) c2,
rank() over(order by c3) c3,
rank() over(order by c4) c4,
rank() over(order by c5) c5
from
(
select '
||
cols[1]||' c1, '||cols[2]||' c2, '||cols[3]||' c3, '||cols[4]||' c4, '||cols[5]||' c5 '
||
' from
heap_test
order by random() limit '
||
samp
||
'
) t
) t
) t '
into corr;
-- 生成字段序号排列组合
for sub in
with t(id) as (select generate_series(1,5))
select array[t1.id,t2.id,t3.id,t4.id,t5.id] from t t1,t t2,t t3,t t4,t t5 where not has_dupli_val(t1.id,t2.id,t3.id,t4.id,t5.id)
LOOP
comp_rat := abs( cols_w_avg[sub[1]] * dup_rat[sub[1]] * corr[sub[1]][sub[1]] )+
abs( cols_w_avg[sub[2]] * dup_rat[sub[2]] * corr[sub[1]][sub[2]] )+
abs( cols_w_avg[sub[3]] * dup_rat[sub[3]] * corr[sub[2]][sub[3]] )+
abs( cols_w_avg[sub[4]] * dup_rat[sub[4]] * corr[sub[3]][sub[4]] )+
abs( cols_w_avg[sub[5]] * dup_rat[sub[5]] * corr[sub[4]][sub[5]] );
传真:0755 - 2799 6625
投诉:133-2299-1235
邮箱:sale@inmiga.com