oracle sql 随机读取N条数据

 

关键字:order by dbms_random.value

 

以下是几个不同的数据库随机取数据的sql

 

1、MySql  

Select  From  TABLE  Order  By  Rand() Limit N 

2、SQL Server

Select  TOP  N *  From  TABLE  Order  By  NewID() 

NewID()函数将创建一个 uniqueidentifier 类型的唯一值。 

 

4、Oracle

1)dbms_random包

 

select  from  ( select  from  Table  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  Table  sample(百分比);

例:

select  from  Table  sample(10);
 

取表Table中记录条数的10%条记录

3)sys_guid 

select  from  ( select  from  Table  orderby   sys_guid())  where  rownum<N;



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



你可能感兴趣的:(oracle,sql,随机)