newid()是SQL SERVER中的函数,ACCESS里不支持
ACCESS可以用RND函数结合ASP中的RND函数来实现随机抽取。
<%
...
Randomize
strSQL = "Select TOP 1 字段列表 FROM 表名 orDER BY RND(-(编号字段)*" & RND() & ")"
...
%>
要产生指定范围的随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。
然后查询取表中的值罗,没有的话再生成一个来查
执行这句SQL语句就行了,返回随机取得的一条记录
select top 1 * from member order by newid()
随机取一个数然后把这个数作为ID来取数据
比如MAXCOUNT是所有的数据条数
那么可以getid=Int((MAXCOUNT - 1 + 1) * Rnd + 1) 来生成从1到MAXCOUNT的一个随机数。
然后用SQL语句"select * from member where menid=" &getid
就可以了
随机提取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 rand() Limit 10
posted on 2008-04-17 11:35
胡昆栄 阅读(2144)
评论(0) 编辑 收藏 所属分类:
MySQL 、
数据库