我試圖從保險索賠數據庫中提取一個樣本。在oracle中進行採樣
例如20%隨機,來自100萬個提供數據的樣本,其中提供者類型是'25'且年份是'2012'。數據在sqldeveloper中。我是具有基本SQL知識的統計學家。
我試圖從保險索賠數據庫中提取一個樣本。在oracle中進行採樣
例如20%隨機,來自100萬個提供數據的樣本,其中提供者類型是'25'且年份是'2012'。數據在sqldeveloper中。我是具有基本SQL知識的統計學家。
SQL具有內置的實施例的樣本命令:
SELECT * FROM emp SAMPLE(25)
指EMP每一行具有被包括在所產生的組中的25%的機率。注:這並不意味着該行的整整25%必然選擇
這blog是對採樣
SQL,而不是PL/SQL –
這是公平的,編輯 –
更多信息快速閱讀,您可以使用SAMPLE
從表中獲得一個隨機的行集。
SELECT *
FROM claim SAMPLE(20)
WHERE type ='25'
AND year = 2012;
謝謝阿倫for你的回覆。當我不使用where子句時,sample()工作正常。但是一旦指定提供者類型和年份,它就不會帶來隨機樣本。 – Kuusum
我有預感這是因爲它是採樣後採用過濾器。爲了解決這個問題,在內部查詢中進行過濾,然後在該示例上進行採樣:即SELECT * FROM(SELECT * FROM WHERE ...)SAMPLE(20)。語法是生鏽的,所以可能無法工作,但應該表達想法 –
@hubson:'SAMPLE'只能在桌面上工作,而不能在內聯視圖中工作。 –
什麼是你的問題? –
檢查http://stackoverflow.com/questions/733652/select-a-random-sample-of-results-from-an-oracle-query –