2013-01-18 80 views
0

我試圖從保險索賠數據庫中提取一個樣本。在oracle中進行採樣

例如20%隨機,來自100萬個提供數據的樣本,其中提供者類型是'25'且年份是'2012'。數據在sqldeveloper中。我是具有基本SQL知識的統計學家。

+0

什麼是你的問題? –

+0

檢查http://stackoverflow.com/questions/733652/select-a-random-sample-of-results-from-an-oracle-query –

回答

2

SQL具有內置的實施例的樣本命令:

SELECT * FROM emp SAMPLE(25) 

指EMP每一行具有被包括在所產生的組中的25%的機率。注:這並不意味着該行的整整25%必然選擇

blog是對採樣

+0

SQL,而不是PL/SQL –

+0

這是公平的,編輯 –

3

更多信息快速閱讀,您可以使用SAMPLE從表中獲得一個隨機的行集。

SELECT * 
FROM claim SAMPLE(20) 
WHERE type ='25' 
AND year = 2012; 
+0

謝謝阿倫for你的回覆。當我不使用where子句時,sample()工作正常。但是一旦指定提供者類型和年份,它就不會帶來隨機樣本。 – Kuusum

+0

我有預感這是因爲它是採樣後採用過濾器。爲了解決這個問題,在內部查詢中進行過濾,然後在該示例上進行採樣:即SELECT * FROM(SELECT * FROM WHERE ...)SAMPLE(20)。語法是生鏽的,所以可能無法工作,但應該表達想法 –

+1

@hubson:'SAMPLE'只能在桌面上工作,而不能在內聯視圖中工作。 –

相關問題