四种,取随机记录的方法

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

mysql:select*fromtablenameorderbyrand()limit10sqlserver:selecttop10*fromtablenameorderbyNEWID()

ORACLE:使用 dbms random value的一种 方法


SQL> select *from (select *from t order by dbms_random.value) where rownum<10;

         A----------        39       101       134         5        83        97        96       140        81

已选择9行。

SQL> select *from (select *from t order by dbms_random.value) where rownum<10;

         A----------        27       118       141       103       128        10       142        68        74 有人说这是一种效率最差的 方法,恳请告知比这更好的解决方案!

ACCESS(一):
yourstr="*1*3*4*6*12*...."sql="selecttop10*formyourdbwhereinstr('*'&id&'*','"&yourstr&"')<>0
ACCESS(二):
<%  n=10    ''取任意10条记录  setrs=server.CreateObject("adodb.recordset")      sql="select*fromtable"      rs.opensql,conn,1,1      count=rs.recordcount  ''记录总数      IFCount<>emptyThen        Randomize              fori=1ton      ''循环n次          num=Fix(Rnd*count)''num便是随机产生的记录行数,用Fix(),使其不会大于count值。          rs.movenum    ''移到改随机行          Response.writers(0)  ''出该条记录        rs.movefirst    ''别忘了再把指针移到第一条        next      EndIF      rs.close  setrs=nothing%>



SQL> select *from (select *from t order by dbms_random.value) where rownum<10; 1
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值