Oracle取随机数据

来源:互联网 发布:网络硬件设备的是 编辑:程序博客网 时间:2024/04/29 19:25

▲随机查看前N条记录(随机读取表内容)
select * from (select * from tb_phone_no order by sys_guid())
where rownum < 10;

 

SELECT * FROM (SELECT * FROM chifan  ORDER BY dbms_random.random) WHERE ROWNUM<=5

SQL> SELECT * FROM (SELECT * FROM A SAMPLE(0.01)) WHERE ROWNUM<=1;

DT
-----------------
20050105 14:59:52

SQL> SELECT * FROM (SELECT * FROM A SAMPLE(0.01)) WHERE ROWNUM<=1;

DT
-----------------
20050306 00:43:05

SQL> SELECT * FROM (SELECT * FROM A SAMPLE(0.01)) WHERE ROWNUM<=1;

DT
-----------------
20050406 02:59:50

注意每次取得的值都不同。

SAMPLE 是随机抽样,后面的数值是采样百分比。
我的测试表A是10万条,所以取0.01% 也就是 万分之一,这样返回记录数大约10条。
对于你的情况,你可以根据数据量来控制采样百分比。

原创粉丝点击