您的位置:首页 > 数据库 > Oracle

Oracle 随机记录

2010-11-15 09:35 176 查看
--方法一:
select * from (select * from t1 order by sys_guid()) where rownum < 100;
--方法二:

select * from
(
select * from user_tables order by dbms_random.value)
where rownum < 101;


至于效率,像这种分页查询,
可以考虑加hint,或者用分析函数什么的。

如hint /*+ FIRST_ROWS() */

或者分析函数:

select * from
(select table_name, row_number() over (order by dbms_random.value)  rn from user_tables  )
where rn < 51

--方法三:
select * from user_tables SAMPLE(10);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle user table