reference DBMS_RANDOMhttp://www.oracle.com.cn/onlinedoc/appdev.920/a96612/d_rando2.htm#998106
解决方案 »
- RMB 200元 odac 连接oracle 9i 汉字字段名乱码
- Oracle订阅发布到SQL server如何配置求解 ,以前没做过这方面
- oracle 使用 startup启动数据库 Operation not permitted
- OracleOraDb11g_home1TNSListener启动后又立刻停止
- 想深入学习一下oracle……
- ORACLE数据库需要手动启动?服务器重新启动后不会自动启动吗?
- 系统重装-ORACLE系统备份还原如何操作
- Expert one-on-one 问题
- 怎样用存储过程建表
- sql中,decode,case when 有什么区别?各自的用法?
- 在oracle存储过程中,怎样才能返回一数据集呢
- 请问ORACLE中有查询自关联表时,同级的排序问题?
[A]8i以上版本
select * from (select * from tablename order by sys_guid()) where rownum < N;
select * from (select * from tablename order by dbms_random.value) where rownum< N;
注:dbms_random包需要手工安装,位于$ORACLE_HOME/rdbms/admin/dbmsrand.sql
dbms_random.value(100,200)可以产生100到200范围的随机数如果你只取一条,可以使用:
select * from (select * from tablename order by sys_guid()) where rownum < 2;
select * from (select * from tablename order by dbms_random.value) where rownum< 2;
我觉得应当这样做:
现查出表的总记录n,
在1-n之间随机选择一个数字m.
利用分页原理,直接查询出第m条记录.
select *
from (select ROWNUM MYROWNUM, T.*
from RECORD_FAULT_INFO T
where ROWNUM < m+1)
where MYROWNUM > m-1