oracle sql 随机读取N条数据

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;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值