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

ORACLE/MSSQL随机取一条记录方法

阅读更多

oracle随机取数据:

select *
 from (       
            select * from sys_dict order by sys_guid() 
          )
where rownum =1

 

oracle随机取数据2:

select *
  from (       
    select * from sys_dict order by dbms_random.value
           )
where rownum <2

 

sqlserver 随机取数据:

select top 1 * 
from 表名 
order by newid () 

 重点在于newid()生产随机值,

取多条则将top后面数字改成具体数量即可

 

分享到:
评论
6 楼 lizhiyu211 2013-01-30  
哦,那看来性能确实不行,学习了。
记得还有一次是这么用的,是一个录取系统的程序,160W条数据,
用的这个方法是为了让数据按某些规则排名后,如果存在N条数据的排序条件都一样(也就是并列),则随机排序,最后放到中间表中然后再使用,这个时候性能要求就不太高了。
5 楼 Aaron5 2013-01-27  
Aaron5 写道
lizhiyu211 写道
Aaron5 写道
这个oracle的随机取record有很大问题。如果表过大,根本取不出值就超时了


一楼的方法,之后工作中也经常用。百十万数据没问题 再多了还没试过。

我在一个超过3000万记录的表中用了下,超时了。用100测试的时候就开始有点慢了。

写错,是100万
4 楼 Aaron5 2013-01-27  
lizhiyu211 写道
Aaron5 写道
这个oracle的随机取record有很大问题。如果表过大,根本取不出值就超时了


一楼的方法,之后工作中也经常用。百十万数据没问题 再多了还没试过。

我在一个超过3000万记录的表中用了下,超时了。用100测试的时候就开始有点慢了。
3 楼 lizhiyu211 2013-01-24  
Aaron5 写道
这个oracle的随机取record有很大问题。如果表过大,根本取不出值就超时了


一楼的方法,之后工作中也经常用。百十万数据没问题 再多了还没试过。
2 楼 Aaron5 2013-01-08  
这个oracle的随机取record有很大问题。如果表过大,根本取不出值就超时了
1 楼 Aaron5 2013-01-08  
select *
  from (      
    select * from sys_dict order by dbms_random.value
           )
where rownum <2

相关推荐

    Oracle/MSSQL 数据库编码转换多功能导入工具(终板)

    Oracle/MSSQL 对称/不对称 导入 并且导入时: 可以转换编码(Big5/GBK) 可以替换字段内容 更可以不导入数据库,只导出为SQL(Insert)语句,等功能 ----------------------------------------------- 大小: 122880 ...

    Oracle/MSSQL 数据库编码转换多功能导入工具

    Oracle / MSSQL 对称/不对称 导入 并且导入时: 可以转换编码(Big5/GBK) 也可以替换字段内容 ...Oracle/MSSQL 数据库编码转换多功能导入工具(终板) https://download.csdn.net/download/lzpng/4574361

    Oracle从表中随机抽取记录

    在Oracle数据库管理中,随机抽取记录是一项常见的需求,尤其是在数据分析、统计抽样或是测试场景下。本文将深入探讨如何在Oracle数据库中实现这一操作,包括理解Oracle的数据访问机制以及具体的SQL实现方法。 ### ...

    ADO操作数据库(MySql/Access/Oracle/MSSql)强大封装类

    ADO(ActiveX Data Objects)是微软开发的一种数据访问接口,用于与各种数据库系统进行交互,包括MySQL、Access、Oracle和MSSQL等。这个强大的封装类是为了简化开发者的工作,通过统一的API,使得无需深入了解各个...

    数据库驱动jar包(MySQL/Oracle9i/10g/MSSQL2000/2005/)

    在本压缩包中,包含了对几种主流数据库系统的支持,包括MySQL、Oracle 9i/10g以及MSSQL Server 2000/2005。 1. **MySQL驱动**:MySQL是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用。MySQL的驱动jar包...

    Oracle左连接返回多条记录中一条记录的查询语句

    Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录

    Jsp JDBC连接MsSQL/MYSQL/Oracle各种数据库代码集.rar

     http://127.0.0.1:8080/SQLServer/mssql.jsp.jsp //JDBC-ODBC  http://127.0.0.1:8080/SQLServer/testmssql.jsp //JDBC驱动    3.连接Oracle 9i  ...

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

    如果 tmp_1 记录比较多(10 万条以上),我们也可以找一个约大于两百行的表(假如是 tmp_3)来生成 tmp_2: create table tmp_2 as select trunc(dbms_random.value(1,5000)) as id from tmp_3 where rownum; 最后...

    oracle中取中间记录的方法

    ### Oracle中取中间记录的方法 在Oracle数据库中,有时候我们需要从数据表中选取特定范围内的记录,例如,如果我们想要获取第5到第10条记录(即中间的记录),这在实际应用中是非常常见的需求。本文将详细介绍如何...

    Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

    在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...

    oracle通过dblink链接 mysql和mssql例子

    Oracle数据库提供了异构服务的功能,允许从Oracle数据库实例访问其他数据库系统的数据,例如MySQL和Microsoft SQL Server (MSSQL)。这一功能主要通过使用Database Link(DBLink)来实现。DBLink是一种数据库对象,它...

    oracle和mssql分页存储过程-均通用

    例如,获取第一页(每页10条记录)的数据可以这样写: ```sql SELECT * FROM ( SELECT a.*, ROWNUM rn FROM (SELECT * FROM your_table) a WHERE ROWNUM ) WHERE rn &gt; 0; ``` 4. **MSSQL的分页方法**...

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

    Oracle 里取随机数的几种具体的方法 Oracle 是一个功能强大的关系数据库管理系统,它提供了多种方法来生成随机数。随机数生成是许多应用程序的重要组件,例如抽奖活动、验证码生成、密码生成等。在本文中,我们将...

    oracle11g 设置随机启动

    - 其中 `orcl` 是数据库实例名称,`/u01/oracle/product/OraHome` 是Oracle的安装路径,`Y` 表示该实例是可启动的。 - 这一步骤非常重要,因为它决定了系统是否能正确识别Oracle实例。 2. **设置环境变量** - ...

    mysql使用GROUP BY分组实现取前N条记录的方法

    本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法。分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY...

    SQL随机提取N条记录

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

    Oracle多行记录合并

    在Oracle数据库中,多行记录的合并通常是为了将相同字段的多行数据整合成一行,以便于数据分析或者简化展示。这种操作在报表制作、数据整理等场景中非常常见。本篇文章将详细介绍Oracle中实现多行记录合并的几种方法...

    Oracle 19c ODBC网关连 MSSQL 2014解决方法

    Oracle 19c ODBC 网关连 MSSQL 2014 解决方法 本文将介绍如何使用 Oracle 19c 通过 ODBC 网关连接到 MSSQL 2014 数据库,解决了很多用户的问题,减少了工作量。 一、环境配置 * 操作系统:Windows 10 x64 专业版 ...

    mssql数据库和oracle数据库通过触发器实现数据表同步

    本文档将详细介绍如何利用触发器技术来实现在Microsoft SQL Server(简称MSSQL)与Oracle数据库之间进行数据表同步的方法。 #### 准备阶段 在开始实现数据同步之前,需要完成以下准备工作: 1. **下载所需软件**...

    kettle7连接oracle mssql的java驱动

    这个驱动是Oracle JDBC Thin Driver的一个版本,适用于Oracle 11g Release 2及更低版本。它是一个纯Java实现,无需本地库即可运行。 另一方面,`jtds-1.2.jar`是针对Microsoft SQL Server的开源JDBC驱动,JDBC-ODBC...

Global site tag (gtag.js) - Google Analytics