2012-07-20 20 views

回答

5

select語句允許。

sample_clause讓你指示的從數據庫數據從表 隨機抽樣選擇,而不是從整個 表。

選擇一個樣品:實施例下面的查詢估計的訂單在訂單表中的號碼 :

SELECT COUNT(*) * 10 FROM orders SAMPLE (10); 

COUNT(*)*10 
----------- 
     70 

查找here

+1

這個答案不是一個偉大的格式,請你把細節放入答案以及鏈接,這意味着將來遇到這個問題的用戶不必離開SO以獲得他們需要的答案。它還可以減少鏈路隨着時間的推移而中斷的風險。 – Ollie 2012-07-20 12:53:40

+0

對於修正的答案+1,謝謝。 – Ollie 2012-07-20 13:15:17

+0

+1,這給出*大約*請求的數據量。 – 2012-07-25 07:33:44

1
SELECT * FROM (
    SELECT temp.*, COUNT(*) OVER() count_rows 
    FROM temp ORDER BY dbms_random.value) 
WHERE rownum <= 0.25 * count_rows; 
1

另一種方法:

SELECT * FROM (
    SELECT mytable.* 
     ,NTILE(4) OVER (ORDER BY DBMS_RANDOM.value) 
     AS quartile 
    FROM mytable 
) 
WHERE quartile = 1;