关闭

Oracle取随机数据

754人阅读 评论(0) 收藏 举报

▲随机查看前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条。
对于你的情况,你可以根据数据量来控制采样百分比。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:434562次
    • 积分:6684
    • 等级:
    • 排名:第3498名
    • 原创:217篇
    • 转载:67篇
    • 译文:6篇
    • 评论:89条
    最新评论