将我的Oracle表随机分为5个部分

时间:2011-12-08 09:25:30

标签: oracle random

我想将我的Oracle表分成5个部分,这些部分记录将从原始表中随机选择。零件可以包含相同的结果,这不是问题。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用ORDER BY dbms_random.value然后计算总记录数并除以5并使用此值来限制返回的行数:

SELECT * FROM 
    ( SELECT * FROM mytable 
      ORDER BY dbms_random.value 
    ) 
    WHERE rownum <= (SELECT count(*)/5 from mytable)