从表中随机取出两条纪录
从zyz2表中随机取出两条纪录:
SQL> select * from zyz2;
ID P1 P2
---------- ---------- ----------
1 211 212
2 12 14
4 241 242
2 145
1 11
3 17 26 rows selected.Elapsed: 00:00:00.50
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
2 12 14
1 211 212Elapsed: 00:00:00.30
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
3 17 2
2 12 14
8i以上
select * from (select * from ur_table order by sys_guid()) where rownum<n;
select * from (select * from ur_table order by dbms_random.value) where rownum<n;
dbms_random.value(min,max) --从min到max之间取值
从zyz2表中随机取出两条纪录:
SQL> select * from zyz2;
ID P1 P2
---------- ---------- ----------
1 211 212
2 12 14
4 241 242
2 145
1 11
3 17 26 rows selected.Elapsed: 00:00:00.50
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
2 12 14
1 211 212Elapsed: 00:00:00.30
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
3 17 2
2 12 14
8i以上
select * from (select * from ur_table order by sys_guid()) where rownum<n;
select * from (select * from ur_table order by dbms_random.value) where rownum<n;
dbms_random.value(min,max) --从min到max之间取值
解决方案 »
- 关于分页面的存储过程
- ORACLE中如何遍历一个文件夹中的所有文件,并取得文件的属性,如最后修改日期等!!!!
- 一条sql语句 我写来不对 见鬼请大家帮我看看 谢谢
- oracle 数据类型问题
- 给linux oracle程序员一个交流的家
- 遗留系统集成的多表关联
- 我有两台电脑,一台上成功安装ORACLE后,把安装包拷贝到另一台电脑上,安装ORACLE,出错:areaQuery 数据库加载错误!!郁闷中,请高手指
- 主从表的设计及作用问题。
- 这种情况如何恢复?
- 求助,如何将oracle中ORDIMAGE格式的图片导出?
- 为什么一个存储过程在代码里执行和在PLSQL里调试的结果不一样?
- 各位老大,现在想在Redhat 9上装oracle 9i,但是有一个要求是:不要proc环境
by num) where rownum<3;
by num) where rownum<3;dbms_random.random ----无效例名
其实也很简单,如将100记录的rowid取出, 令其排成一圈,根据当前时间的分和秒做种子(seed)
就可产生随机数了。