检查了一些贴子对于MSSQL数据库教程一般可以采用这样的语句:
方法三:有这样一种方法,我觉的不错:
<%
yourstr="*1*3*4*6*12*...."
sql="select top 10 * form yourdb where instr('*'&id&'*','"&yourstr&"')<>0"
%>
yourstr可以生成随机数多一点大于所限定抽取的随机数为好,这样可以排除记录不足的情况。
<%
n=10 '取任意10条记录
set rs = server.createobject ("adodb.recordset")
sql = "select * from table"
rs.open sql,conn,1,1
count=rs.recordcount '记录总数
if count<>empty then
randomize
for i=1 to n '循环n次
num=fix(rnd*count) 'num便是随机产生的记录行数,用fix(),使其不会大于count值
rs.move num '移到改随机行
response.write rs(0) '出该条记录
rs.movefirst '别忘了再把指针移到第一条
next
end if
rs.close
set rs=nothing
%>
<%
select top 50 * from someTable order by NewID()
%>
但是如果是Access数据库的话似乎没有什么好的解决方法。
方法二:有人采用一条SQL语句解决此问题:
<%
select top 50 * from table order by int(rand()*50)
%>
如果这条语句可行的话是个不错的方法。我测试这条语句并没有通过,如果有人知道是哪有问题请告诉我,非常感谢。
方法:有人用如下代码以记录总数为极大值来首先提取出指定数量的随机数,然后以这些随机数做为记录ID。
<%
dim n,j
dim su()
dim a,b,k
b=myrs.RecordCount
Randomize
redim su(index_N)
su(1)=Int((b * Rnd) + 1)
for n=2 to index_N
a=Int((b * Rnd) + 1)
for j=1 to n
do while a=su(j)
a=Int((b* Rnd) + 1)
j=1
loop
next
su(n)=a
next
%>
这种方式有一些问题,就是当ID不是连续的话,有可能某些随机数不存在ID序列当中。另外ID的最大值与总的记录值不一定相等,这样有些记录ID会永远被忽略。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔