<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>
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>