2013-01-18 39 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'只能在桌面上工作,而不能在内联视图中工作。 –

相关问题