`
bolan392
  • 浏览: 277075 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle随机抽取记录的方法

阅读更多

Oracle中随机抽取10条记录:

 

 select * from (select * from tablename order by order by dbms_random.value) where rownum<11

 

这个方法的原理我认为应该是把表中的数据全部查询出来按照随机数进行排列后在从查询出来的数据中查询中6条记录,这个方法我在使用的过程中发现,如果记录一多的话查询的速度有一点点的慢,测试时是7000条,如果几万几十万的话可能就更慢了。

 

 第二个是利用oracle的sample()或sample block方法:

 

select * from tablename sample ( 50 ) where rownum<6

 

Oracle访问数据的基本方法有:


     1.全表扫描
     2.采样表扫描

 

全表扫描(Full table Scan)


     全表扫描返回表中所有的记录。
     执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。Oracle顺序的读分配给该表的每一个数

     据块,这样全表扫描能够受益于多块读.每个数据块Oracle只读一次.

 

采样表扫描(sample table scan)


     采样表扫描返回表中随机采样数据。
     这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOCK选项.

 

     SAMPLE选项:


          当按行采样来执行一个采样表扫描时,Oracle从表中读取特定百分比的记录,并判断是否满足WHERE子句以返回 

          结果。

 

     SAMPLE BLOCK选项:


         使用此选项时,Oracle读取特定百分比的BLOCK,考查结果集是否满足WHERE条件以返回满足条件的纪录.

 

     Sample_Percent:


         Sample_Percent是一个数字,定义结果集中包含记录占总记录数量的百分比。
         Sample值应该在[0.000001,99.999999]之间。

 

 

分享到:
评论

相关推荐

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

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

    SQL随机提取N条记录

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

    利用ORACLE实现数据的抽样

    为了从大量用户中随机抽取100万个样本记录,直接在服务器端进行抽样是最可行的方案。使用Oracle的`SAMPLE`函数或`DBMS_RANDOM`包,可以高效地完成这一任务,避免了将大量数据下载至本地进行处理的低效做法。 ### 四...

    一种基于SQL的元组集随机抽取算法.pdf

    基于SQL的元组集随机抽取算法主要研究如何高效地从数据库中随机获取记录集合,避免了客户端复杂编程的低效性。在某些应用场景中,例如在线考试系统、计算机自动出题、座号安排等,需要从题库数据库中随机选取试题,...

    如何从数据库中随机取出10条记录的方法

    在处理大量数据时,有时我们需要从数据库中随机抽取一部分记录来进行数据分析、测试或者展示等操作。本文将详细介绍如何从数据库中随机取出10条记录的方法,并提供多种不同数据库系统的实现方式。 #### 1. 原理介绍...

    富士通内部培训ORACLE资料

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

    oracle常用问题解答

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

    Oracle高级sql学习与练习

    25. 随机值查询处理在数据库中生成随机数据的需求,如随机数或随机抽取记录等。 在学习这些高级SQL技能的过程中,建议通过大量的实践练习,结合具体的应用场景来加深理解,从而有效地掌握这些复杂的数据库操作技术...

    基于oracle的在线考试系统的设计

    题目表(QUESTION)应包含题目ID、题目内容、答案、分值等,便于随机抽取试题。最后,成绩表(SCORE)用于存储用户考试成绩,包括用户ID、考试ID、得分等字段。 二、创建视图 视图是数据库中的虚拟表,它根据用户...

    Oracle EBS 开发笔记

    - **随机取前10条不同的记录**:随机抽取数据样本。 - **TRUNC函数**:截断日期或数值。 - **修改表的一些常用语法**:SQL语句用于表结构的修改。 - **舍入函数**:对数值进行四舍五入操作。 - **实现类似BREAK...

    随机抽取的sql语句 每班任意抽取3名学生

    在SQL中,随机抽取数据是一项常见的任务,尤其在需要进行抽样调查或模拟随机选取时。在这个场景中,我们需要从一个包含多个班级(一至十班)的学生表中,为每个班级随机选择3名学生参与学校大扫除。这个问题可以通过...

    Oracle维护常用SQL语句

    #### 三、随机抽取N条记录 在Oracle中,随机抽取数据可以通过`SYS_GUID()`或`DBMS_RANDOM.VALUE`函数实现。以下是两种方法: 1. 使用`SYS_GUID()`函数: ```sql SELECT * FROM ( SELECT * FROM TABLENAME ORDER...

    通用的在线考试系统(jsp+struts+hibernate+oracle)130220.zip

    在在线考试系统中,Oracle将存储考生信息、试题信息、考试记录等大量数据,并通过优化的SQL查询来保证数据的快速检索和更新。 此外,系统的实现可能还包括用户认证与授权、试题随机抽取、考试时间限制、自动评分等...

    Oracle数据挖掘入门---Oracle数据库数据挖掘,筛选,数据仓库的入门教程

    数据挖掘是指从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。这些信息或知识可以用来预测趋势和未来模式,帮助决策者做出更...

    oracle chm帮助文件下载

    9. **随机抽取记录**:可以使用`DBMS_RANDON.RANDOM`函数配合`ROWNUM`限制返回的记录数。 10. **抽取特定范围记录**:通过子查询结合`ROWNUM`和`WHERE`子句可以实现指定行范围的记录抽取。 11. **抽取重复记录**:...

    九鼎招标采购评审专家随机抽选系统 九鼎招标采购评审专家(机构)随机抽取系统 v2.39 标准版

    1. **招标项目评审**:在招标过程中,通过系统随机抽取符合项目要求的专家组成评审委员会,确保评审的公正性。 2. **采购决策辅助**:在大额采购活动中,系统帮助选择具有专业知识和技术背景的专家参与决策。 3. *...

Global site tag (gtag.js) - Google Analytics