我给出了查询:
select dbms_random.value
from table;
我如何获得 25% 的样品?
select 语句允许这样做。
sample_clause允许您指示数据库从表中的随机数据样本中进行选择,而不是从整个表中进行选择。
选择样本:示例 以下查询估计订单表中的订单数:
SELECT COUNT(*) * 10 FROM orders SAMPLE (10); COUNT(*)*10 ----------- 70
看这里
SELECT * FROM (
SELECT temp.*, COUNT(*) OVER () count_rows
FROM temp ORDER BY dbms_random.value)
WHERE rownum <= 0.25 * count_rows;
另一种方法:
SELECT * FROM (
SELECT mytable.*
,NTILE(4) OVER (ORDER BY DBMS_RANDOM.value)
AS quartile
FROM mytable
)
WHERE quartile = 1;