asp下sql和access数据库随机取10条记录的代码newid()

MSSQL:select top 10 * from [table] order by newid()

ACCESS:

代码如下:

'以利用rs.move嘛  
'如随机取10条  
n = 10  
'先要判断总记录数是否少于10,若小于10,则有多少取多少 if n>10 rs.recordCount then n=rs.recordCount  
dim ranNum  
for i = 1 to n  
Randomize()  
ranNum = int(rs.recordCount*rnd)+1 '产生一个随机数  
rs.Move ranNum '移动游标到随机数位置  
response.write i & "-" & rs("title") & "<br />" '输出内容  
rs.Move -ranNum  
next  
'……

这样就可以了,当然这样有可能会取到重复的记录,那么把产生随机数那句改下就可以了,声明一个变量来存放已经产生过的随机数,在产生新的随机时先判断是否已经产生过,若产生过则重新生成就是了,这个就比较简单了,用instr等就可以搞定了~~

思路是这样,其它自己动手试试吧。 不重复读取还有个办法就是只产生一个随机数,然后挨着读取这个随机数后面的N条记录。当然也要写好判断,随机数要小于总记录数-要读取记录数量。

代码如下:

'……  
dim n,ranNum  
n = 10  
Randomize()  
ranNum = rs.recordCount-n  
if ranNum<1 then ranNum=1  
ranNum = int(ranNum*rnd)+1

rs.Move ranNum  
for i=1 to 10  
response.write i & "-" & rs("title") & "<br />" '输出内容  
rs.MoveNext '挨着向下读取  
next  
'……

建议自己写个简单的Function来产生和判断不重复随机数。

(0)

相关推荐

  • sql server中随机函数NewID()和Rand()

    在SQL Server中,随机函数有rand(),NewID(),其中rand是在0到1内随机取数,NewID则是生成随机的uniqueidentifier唯一标识符. SELECT * FROM Northwind..Orders ORDER BY NEWID() --随机排序 SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID() --从Orders表中随机取出10条记录 示例 A.对变量使用 NEWID 函数 以下示例使用 NEWID

  • asp连接SQL和Access数据代码(asp里的随机函数)

    asp连接sql 第一种写法: 复制代码 代码如下: MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;" Set conn = Server.Createobject("ADODB.Connection") conn.open MM_conn_STRING SET RS=SERVER.CreateObject("ADOBD.recordset&qu

  • asp下sql和access数据库随机取10条记录的代码newid()

    MSSQL:select top 10 * from [table] order by newid() ACCESS: 复制代码 代码如下: '以利用rs.move嘛   '如随机取10条   n = 10   '先要判断总记录数是否少于10,若小于10,则有多少取多少 if n>10 rs.recordCount then n=rs.recordCount   dim ranNum   for i = 1 to n   Randomize()   ranNum = int(rs.recordC

  • 四种数据库随机获取10条数据的方法

    四种数据库随机获取10条数据的方法 SQL Server: 复制代码 代码如下: SELECT TOP 10 * FROM T_USER ORDER BY NEWID() ORACLE: 复制代码 代码如下: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10 MySQL: 复制代码 代码如下: SELECT * FROM T_USER  ORDER BY  RAND() LIM

  • 随机提取Access/SqlServer数据库中的10条记录的SQL语句

    代码如下:本文相关代码如下:Access:select top n * from table order by rnd(id)'id为数据库的自动编号字段Sql Server:select top n * from table order by newid() 但在ASP+Access中,或许是因为缓存的原因,第一条SQL语句无法得到预期的结果,而VB+Access则可以.解决办法是改用如下SQL语句: 本文相关代码如下:RandomizesSqlTxt="Select top 10 * Fro

  • asp下如何在Access数据库中立即得到所插入记录的自动编号?

    首先,我们要保证获得记录集的方式支持bookmark属性,如在1.3插入一条有自动编号字段的记录后,获取该记录的bookmark属性值: temp = rs.bookmark 然后再: rs.bookmark = temp Response.write rs.Fields("ID").Value 应该可以了哦.

  • 如何从数据库中随机取出10条记录的方法

    function xipai(mystr) xipai="" if len(mystr)=0 then'如果是空的,那么初试化一付连续的牌 for i=1 to 52 mystr=mystr & " " next end if dim i,x for i=1 to 52 myarry=split(mystr) 'myarry是下标52的数组,前0-51个有效 randomize x=cint(rnd*(ubound(myarry)-1))'前0-51个随便找

  • 随机提取N条记录

    随机提取10条记录的例子: Sql server: select top 10 * from 表 order by newid() Access: SELECT top 10 * FROM 表 ORDER BY Rnd(id) Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成 比如用姓名字段(UserName) SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName)) MySql: Select * From 表 Order By 

  • 随机提取N条记录 推荐

    随机提取10条记录的例子: Sql server: select top 10 * from 表 order by newid() Access: Select top 10 * FROM 表 orDER BY Rnd(id) Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成 比如用姓名字段(UserName) Select top 10 * FROM 表 orDER BY Rnd(len(UserName)) MySql: Select * From 表 order By 

  • php中通过数组进行高效随机抽取指定条记录的算法

    php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下array_rand()函数的主要功能: array_rand-从数组中随机取出一个或多个单元 mixed array_rand(array $input[,int $num_req] ) array_rand()在你想从数组中取出一个或多个随机的单元时相当有用.它接受input作为输入数组和一个可选的

  • PHP实现在数据库百万条数据中随机获取20条记录的方法

    本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法.分享给大家供大家参考,具体如下: 额,为什么要写这个? 在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法的吗?又不是大数据开发,分析. 今天偶然想起来一个坑爹数据,如:PHP取百万条数据中随机20条记录,当时就用的算法. 1.先统计统计数据库多少条记录(这个做个数据缓存,如1小时重新统计一次), 2.根据总条数,随机1次,1次性取出20条记录(当然这个就相当于分页了,要求不高的话,这个最快,我用的就是这个)

  • 从数组中随机取x条不重复数据的JS代码

    工作中经常遇到有关数组的一些操作 1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环) 复制代码 代码如下: /*从数组arr中随机取x条不重复的数据 */ function myRand(arr,num){    var newArr = [];    rand(num);    //随机 x 个 function rand(k){        if(k==0){            return;        }     

随机推荐