Java之旅
Record my Java-learning progress.
posts - 1,comments - 17,trackbacks - 0

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 胡昆栄 阅读(2143) 评论(0)  编辑  收藏 所属分类: MySQL数据库

只有注册用户登录后才能发表评论。


网站导航: