检查了一些贴子对于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会永远被忽略。
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮