更多相关内容...>>如何随机取记录?(MSSQL、Access、MySql)
如何随机取记录?(MSSQL、Access、MySql)
1、数据量少的时候可以使用sql自带的newid()函数
N01154 http://blog.numino.net/
select top 7 from table order by newid()
J819T4 http://blog.numino.net/
select top 5 a.columName from (select distinct columName from tableName) a order by newid()
SaGLVp http://blog.numino.net/
2、数据量大则不适合用上述方法了,简单算法:
s8tZJM http://blog.numino.net/
统计表里所有的数据 N,然后返回一个小于N的随机数,再选择一条ID大于N就行了!
MA6KFc http://blog.numino.net/
随机提取10条记录的例子:
PBo6cR http://blog.numino.net/
Sql server:
H962w8 http://blog.numino.net/
select top 10 * from 表 order by newid()
BrM062 http://blog.numino.net/
Access:
h9BO0R http://blog.numino.net/
SELECT top 10 * FROM 表 ORDER BY Rnd(id)
gq8qBq http://blog.numino.net/
Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成
AobGb5 http://blog.numino.net/
比如用姓名字段(UserName)
TP38EQ http://blog.numino.net/
SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName))
O1MWNB http://blog.numino.net/
MySql:
dq5ZnN http://blog.numino.net/
Select * From 表 Order By rand() Limit 10
g2msNp http://blog.numino.net/
==========================================================
G9hm7A http://blog.numino.net/
ACCESS可以用RND函数结合ASP中的RND函数来实现随机抽取。
8s7zFk http://blog.numino.net/
<%
WIu6Oz http://blog.numino.net/
...
1KD0Y2 http://blog.numino.net/
Randomize
ryKXy0 http://blog.numino.net/
strSQL = "SELECT TOP 1 字段列表 FROM 表名 ORDER BY RND(-(编号字段)*" & RND() & ")"
70DVe5 http://blog.numino.net/
...
kXgdB0 http://blog.numino.net/
%>
jb9q61 http://blog.numino.net/
===============================================
5spNRW http://blog.numino.net/
要产生指定范围的随机整数,请使用以下公式:
73DWY2 http://blog.numino.net/
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
a3Xq2X http://blog.numino.net/
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界
GmDBG6 http://blog.numino.net/
==========================================================
r1rgDK http://blog.numino.net/
随机提取10条记录的例子:
weYAOy http://blog.numino.net/
Sql server:
EMD270 http://blog.numino.net/
select top 10 * from 表 order by newid()
byWZ6w http://blog.numino.net/
Access:
x4fio1 http://blog.numino.net/
SELECT top 10 * FROM 表 ORDER BY Rnd(id)
qjxAQD http://blog.numino.net/
Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成
gOlR44 http://blog.numino.net/
比如用姓名字段(UserName)
dQ7I1i http://blog.numino.net/
SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName))
OFARN3 http://blog.numino.net/
MySql:
sR0Wsr http://blog.numino.net/
Select * From 表 Order By rand() Limit 10
34F04C http://blog.numino.net/

IkZ2DI http://blog.numino.net/

vEaN1f http://blog.numino.net/
========================================================
s9QA85 http://blog.numino.net/
select top 4 * from DataTable order by rnd(-(id+rnd()))
2i6jfQ http://blog.numino.net/

SWfgHU http://blog.numino.net/
=====================================================
LJ21i8 http://blog.numino.net/
ASP&Access随机读取某段数据
71eY4G http://blog.numino.net/
在网上也搜索了很多,分享下我的方法...
aagxiU http://blog.numino.net/
以下是源代码:
kCVDSW http://blog.numino.net/
Randomize(Timer())
4eVOsI http://blog.numino.net/
SQL = "SELECT TOP 100 ID FROM table1 ORDER BY Rnd(-(ID + " & Int((10000 * Rnd) + 1) & "))"
eEG9sC http://blog.numino.net/
Set RS = Server.CreateObject("ADODB.RecordSet")
fpXL11 http://blog.numino.net/
RS.Open SQL,Conn,1,1
2N2FUo http://blog.numino.net/
If Not RS.EOF Then
nheEXQ http://blog.numino.net/
RS.MoveFirst
9Kd9bc http://blog.numino.net/
For I = 1 To RS.RecordCount
EyNUsD http://blog.numino.net/
Response.Write RS(0) & "<br>"
WpeJlc http://blog.numino.net/
RS.MoveNext
Y1FfA6 http://blog.numino.net/
Next
7Wl7wA http://blog.numino.net/
End If
EfaXuB http://blog.numino.net/
RS.Close
k8DJSV http://blog.numino.net/
Set RS = Nothing
更多相关内容...>>如何随机取记录?(MSSQL、Access、MySql)

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

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