`
adventure
  • 浏览: 88347 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Oracle获取随机记录

阅读更多

最近在做一个小的考试系统,需要用到随机抽取题目,于是就从网上搜到如下方法:

 

1.dbms_random包


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.按概率抽取:

 

select * from tablename sample(百分比);
  

3.sys_guid


select * from (select * from tablename order by   sys_guid()) where rownum<10;
 
分享到:
评论

相关推荐

    Oracle里抽取随机数的多种方法

    在 Oracle 中抽取随机数是许多应用场景中常见的问题,例如在某个活动中需要随机取出一些符合条件的用户,以颁发获奖通知或其它消息。本文将通过实例讲解如何抽取随机数的多种方法。 首先,我们可以使用 Oracle 自带...

    Oracle里取随机数的几种具体的方法

    5. 将临时表 tmp_1 和 tmp_2 相关联,取得符合条件的随机记录。 6. 最后,删除临时表 tmp_1、tmp_2 和序列号 tmp_id。 例如,以下是使用 DBMS_RANDOM 包生成随机数的示例代码: ```sql -- 创建序列号 tmp_id CREATE...

    Oracle插入数据时获取自增ID

    ### Oracle插入数据时获取自增ID 在Oracle数据库中,当需要实现类似其他数据库系统(如MySQL、SQL Server等)中的自动增长字段功能时,通常会采用序列(sequence)和触发器(trigger)来实现这一需求。下面将详细...

    SQL随机提取N条记录

    在SQL(Structured Query ...以上就是关于“SQL随机抽取N条记录”的详细解释,这些方法可以帮助你从数据库中获取随机样本,无论是进行数据分析还是其他目的。记住,根据你使用的具体SQL方言,可能需要调整上述代码。

    随机获取oracle数据库中的任意一行数据(rownum)示例介绍

    Oracle数据库中的`ROWNUM`是一个非常实用的特性,它允许我们根据行的顺序来筛选结果集。`ROWNUM`在处理大数据集时尤其有用,例如在执行随机选取数据、分页查询或者特定行选择等场景。 首先,`ROWNUM`是一个伪列,它...

    Oracle数据库操作

    本文将深入探讨在Oracle数据库操作中涉及的一些关键知识点,包括记录集的显示、时间的SQL转换、汉字的随机选取以及事务处理等。 1. **子程序_显示记录集信息**: 在Oracle数据库操作中,我们经常需要从查询结果中...

    Oracle中如何用一条SQL快速生成10万条测试数据

    这里,`sysdate`获取当前系统日期和时间,而`rownum/24/3600`则是将ROWNUM转换为小时数,再转换为天数,从而使得每个新行的时间比前一行晚约一秒,最终得到一个按秒递增的时间序列。 #### 3. **随机数生成** `...

    oracle常用问题解答

    **问题**: 如何在Oracle中随机抽取前N条记录? **解答**: 可以使用`RAND`函数配合`RANK`函数来实现。 - **示例**: 抽取前5条记录: ```sql SELECT * FROM ( SELECT t.*, RANK() OVER (ORDER BY DBMS_RANDOM.VALUE...

    Delphi连接SQL随机显示数据库中的记录..rar

    除了上述方法,还可以通过在代码中生成随机索引号来实现随机记录的选择。例如,可以先获取记录总数,然后生成一个介于0和总数之间的随机数,再用这个随机数作为记录索引来读取记录。这种方式更适合只显示单条随机...

    富士通内部培训ORACLE资料

    9. **随机抽取记录**:要随机抽取前N条记录,可以结合`ROWNUM`和`ORDER BY DBMS_RANDOM.VALUE`实现。 10. **指定范围抽取记录**:从N行到M行的记录可通过子查询配合`ROWNUM`实现,如 `(SELECT * FROM table WHERE ...

    Oracle核心技术

    3. 数据文件与重做日志文件:数据文件是用来存储用户数据的主要文件类型,它们通过随机读写操作进行数据的存取。为了有效管理数据文件,每个文件定义了一个固定的I/O块大小,常见的块大小有2KB、4KB、8KB、16KB和32...

    oracle IO 使用情况

    首先,SQL语句的执行涉及多个步骤,包括解析、执行计划生成、数据获取等,其中数据获取阶段往往会产生大量的I/O操作。当数据库需要从磁盘读取或写入大量数据时,IO压力会增加,可能导致系统性能下降。 描述中提到的...

    oracle ebs开发文档

    - **随机取前10条不同的记录**:通过组合使用 ROWNUM 和 SELECT DISTINCT 来实现。 - **TRUNC函数**:用于去除小数部分。 - **修改表的一些常用语法**:如 ADD、MODIFY 和 DROP 等,用于表结构的修改。 - **舍入函数...

    oracle分页查询

    在没有明确的排序情况下,Oracle会随机选择记录,导致结果不一致。正确的做法是将排序和行号分配分开处理,使用三层嵌套查询: 1. **第一层**:对数据进行排序 ```sql select * from t_stu t order by s_birthday ...

    Advanced_Oracle_Troubleshooting

    - **管理变化**:识别并记录系统中的任何改变,这些改变可能是问题的触发因素。 - **理解**:深入理解系统的运行机制,包括硬件配置、软件版本、数据库结构等。 - **测量**:通过性能监控工具收集数据,例如使用...

    Oracle高级SQL调优:CLUSTER_FACTOR案例研究

    当索引的CLUSTER_FACTOR值较低时,意味着索引能够有效地指引Oracle快速定位到表中的记录;反之,则可能增加额外的I/O开销,降低查询性能。因此,了解CF的工作原理及其对查询性能的影响对于数据库管理员(DBA)来说至关...

    oracle-18c-新特性

    3. **在 ADG 中支持 Nologging 数据的复制同步**:这为那些不需要日志记录的应用程序提供了更快的同步选项。 4. **ADG 自动重定向 Update 操作到主库**:这项特性极大地方便了读写分离的场景,可以自动将更新操作...

    Oracle_biee_11g入门指南

    1. **启动NetManager**:在安装Oracle BIEE后,会在系统中创建一个名为`oracle-OHXXXXXXXXX`的目录(其中的数字部分为随机生成)。打开该目录中的NetManager程序。 2. **配置数据源**:按照与Oracle DB 11G中的...

Global site tag (gtag.js) - Google Analytics