Oracle获取随即记录
2012-03-30 10:23
246 查看
最近在做一个小的考试系统,需要用到随机抽取题目,于是就从网上搜到如下方法:
1.dbms_random包
Sql代码
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范围的随机数
2.按概率抽取:
Sql代码
select * from tablename sample(百分比);
3.sys_guid
Sql代码
select * from (select * from tablename order by sys_guid()) where rownum<10;
相关文章推荐
- mybatis如何获取oracle新插入数据记录的主键?
- oracle之分页获取记录
- oracle 获取第M到第N条记录
- Sqlserver 在大表中获取 Select 随即记录(English)
- mysql 、oracle、sqlserver获取最近一次插入记录
- oracle 在一张日志表中,同一个ID 有多条记录,每个ID只获取最新时间的记录
- oracle 获取第二行记录
- oracle 一个表里有多条记录引用另一个表的主键 并获取此表的最后一条记录
- oracle中获取字段值存在重复的记录
- ORACLE获取oledbdatareader 记录数
- Oracle查询分组后获取首尾两条记录
- oracle 执行包含update语句的存储过程并获取结果记录
- oracle的Top-N获取数据结合的前n条记录,如(价格排行前三的水果信息)
- Oracle SYS_CONNECT_BY_PATH 分级记录获取全路径
- Oracle插入数据时获取自增ID (记录,未验证)
- oracle 执行包含update语句的存储过程并获取结果记录
- SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)
- oracle 获取最大日期记录
- oracle 执行包含update语句的存储过程并获取结果记录
- ORACLE随机获取数据库表的一条记录