经常碰到这种情况,先记录下来,以后参考。
第一种方法:
set rs=server.CreateObject("adodb.recordset") rs.open "select top 1 id from info order by id desc",conn,1,1 if not rs.bof and not rs.eof then maxid=rs("id") end if rs.close function suiji() Randomize suiji=Int((maxid - 1+ 1) * Rnd + 1) end function '然后开始随即提取记录 i=0 do while i<6 set rs=server.CreateObject("adodb.recordset") rs.open "select * from info where id="&suiji(),conn,1,1 if not rs.bof and not rs.eof then i=i+1 response.write "你现在随即提取的记录的id是"&rs("id")&"<br>" end if rs.close loop
第二种方法:
sql="select top 6 * from info where pass=1 ORDER BY rnd(-time()-id)"
优势比较:
第二种方法修改起来比较简单,但是受时间限制,在同一分钟内刷新内容不会变动,
第一种方法相对比较复杂,但是能够及时更新。
以上代码在access数据库下适用。 |