2011-12-08 40 views
-2

我想將我的Oracle表分成5個部分,這些部分記錄將從原始表中隨機選取。零件可以包含相同的結果,這不是問題。將我的Oracle表隨機分成5個部分

我該怎麼做?

+0

爲什麼不使用的rownum? –

+1

你的意思是什麼?沒有Oracle結構稱爲零件,我想!你的意思是分區嗎? –

+0

[從oracle查詢中選擇結果的隨機樣本]的可能重複(http://stackoverflow.com/questions/733652/select-a-random-sample-of-results-from-an-oracle-query) –

回答

1

你可以使用ORDER BY dbms_random.value然後通過5制定出的總記錄和分裂的數量,並以此來限制行數返回:

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