从表中随机取出两条纪录
从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数据库时,字符集到底怎么选?
- oracle中如何从键盘循环接受数据(pl/sql)
- 求DIC下载
- 这种SQL连接方式很怪异没见过啊,谁能帮我解释下吗
- 这个SQL语句怎么理解?
- 初学 PL/SQL 请教一个函数实现IP地址转换。。 100分
- 我连接远程的通过一条专线上网的一个局域网内的ORACLE数据库连接不上?我是通过ADSL上网的
- 救命,请问怎么在XP下装ORACLE8.1.7,急!(100分)
- 初学者关于update的问题?!
- 如果不手工输入,怎么编程生成一条记录的ID;
- 为什么一个存储过程在代码里执行和在PLSQL里调试的结果不一样?
- 各位老大,现在想在Redhat 9上装oracle 9i,但是有一个要求是:不要proc环境
by num) where rownum<3;
by num) where rownum<3;dbms_random.random ----无效例名
其实也很简单,如将100记录的rowid取出, 令其排成一圈,根据当前时间的分和秒做种子(seed)
就可产生随机数了。