更多相关内容...>>如何随机取记录?(MSSQL、Access、MySql)
如何随机取记录?(MSSQL、Access、MySql)
1、数据量少的时候可以使用sql自带的newid()函数
h1a9H3 http://www.numino.net
select top 7 from table order by newid()
5iKYS2 http://www.numino.net
select top 5 a.columName from (select distinct columName from tableName) a order by newid()
W94Z00 http://www.numino.net
2、数据量大则不适合用上述方法了,简单算法:
6s08MX http://www.numino.net
统计表里所有的数据 N,然后返回一个小于N的随机数,再选择一条ID大于N就行了!
vulLUQ http://www.numino.net
随机提取10条记录的例子:
O16Xo8 http://www.numino.net
Sql server:
rvZ5c2 http://www.numino.net
select top 10 * from 表 order by newid()
C8ZbZH http://www.numino.net
Access:
GX9chz http://www.numino.net
SELECT top 10 * FROM 表 ORDER BY Rnd(id)
0cyWsX http://www.numino.net
Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成
x3TfJj http://www.numino.net
比如用姓名字段(UserName)
1oS0Hh http://www.numino.net
SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName))
J0Leds http://www.numino.net
MySql:
xpCwpl http://www.numino.net
Select * From 表 Order By rand() Limit 10
atcDgA http://www.numino.net
==========================================================
asr3f1 http://www.numino.net
ACCESS可以用RND函数结合ASP中的RND函数来实现随机抽取。
RQ0J6Y http://www.numino.net
<%
d3p07V http://www.numino.net
...
PnYtO1 http://www.numino.net
Randomize
hkr0ZI http://www.numino.net
strSQL = "SELECT TOP 1 字段列表 FROM 表名 ORDER BY RND(-(编号字段)*" & RND() & ")"
2wj8GJ http://www.numino.net
...
e3DFTK http://www.numino.net
%>
54VysL http://www.numino.net
===============================================
RCruH8 http://www.numino.net
要产生指定范围的随机整数,请使用以下公式:
h4PSPd http://www.numino.net
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
4xQs3Z http://www.numino.net
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界
IwiKtw http://www.numino.net
==========================================================
oqrBsr http://www.numino.net
随机提取10条记录的例子:
dNxVPT http://www.numino.net
Sql server:
Jvu8Kf http://www.numino.net
select top 10 * from 表 order by newid()
H69dn4 http://www.numino.net
Access:
5zC6PY http://www.numino.net
SELECT top 10 * FROM 表 ORDER BY Rnd(id)
gp65Zv http://www.numino.net
Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成
y4rC8T http://www.numino.net
比如用姓名字段(UserName)
U31bRJ http://www.numino.net
SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName))
nVh6y2 http://www.numino.net
MySql:
2WS7GH http://www.numino.net
Select * From 表 Order By rand() Limit 10
pAp99o http://www.numino.net

Lzqg3D http://www.numino.net

783ARn http://www.numino.net
========================================================
D7TU9O http://www.numino.net
select top 4 * from DataTable order by rnd(-(id+rnd()))
Vr97t3 http://www.numino.net

6W9aLH http://www.numino.net
=====================================================
25q3pT http://www.numino.net
ASP&Access随机读取某段数据
l51Ao7 http://www.numino.net
在网上也搜索了很多,分享下我的方法...
fc9Vq0 http://www.numino.net
以下是源代码:
QKeHAt http://www.numino.net
Randomize(Timer())
XfG1Gc http://www.numino.net
SQL = "SELECT TOP 100 ID FROM table1 ORDER BY Rnd(-(ID + " & Int((10000 * Rnd) + 1) & "))"
Vnerc6 http://www.numino.net
Set RS = Server.CreateObject("ADODB.RecordSet")
pQqHfw http://www.numino.net
RS.Open SQL,Conn,1,1
0UPHKP http://www.numino.net
If Not RS.EOF Then
MZchLZ http://www.numino.net
RS.MoveFirst
8qKx37 http://www.numino.net
For I = 1 To RS.RecordCount
uSpad0 http://www.numino.net
Response.Write RS(0) & "<br>"
hif1V2 http://www.numino.net
RS.MoveNext
162V8F http://www.numino.net
Next
5zyD9H http://www.numino.net
End If
Hb740M http://www.numino.net
RS.Close
Wj8ZgB http://www.numino.net
Set RS = Nothing
更多相关内容...>>如何随机取记录?(MSSQL、Access、MySql)

Bug报告 |  免责声明 |  联系我们 |  加入收藏

Copyright © 2006 NuminoStudio(www.numino.net) All Rights Reserved