【发布时间】:2018-10-16 14:48:42
【问题描述】:
我需要从总体中生成一些样本数据。我想在 Oracle 11g 数据库上使用 SQL 查询来做到这一点。
这是一个简单的工作示例,人口规模为 4,样本规模为 2:
with population as (
select 1 as val from dual union all
select 2 from dual union all
select 3 from dual union all
select 4 from dual)
select val from (
select val, dbms_random.value(0,10) AS RANDORDER
from population
order by randorder)
where rownum <= 2
(对我来说,oracle sample() 函数不能与 WITH 子句结合使用)
但现在,我想“升级”或增加我的样本数据。这样我就可以获得人口数据的 150% 样本数据(例如,人口规模 4 和样本规模 6)
有没有一种通过 SQL 查询实现此目的的好方法?
【问题讨论】:
-
有点不寻常的请求 - 您可以只使用两次相同的输入,这是否是一种关闭?例如
With population 2 as (select * from population union all select * from population)等
标签: sql oracle sample data-generation population