首页 热点资讯 义务教育 高等教育 出国留学 考研考公

在Access数据库中随机取一条指定条件的记录的方法~

发布网友 发布时间:2022-04-23 05:13

我来回答

4个回答

热心网友 时间:2022-04-11 02:05

<%
set rs=server.CreateObject("adodb.recordset")
sql = "select top 1 * from [AAA] where a1=2 ORDER BY Rnd(-(id + " & Int((10000 * Rnd) + 1) & "))"
rs.open sql,conn,1,1
if rs.recordcount>0 then
do while not rs.eof
%>
.....
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
%>

在 where 后面自己加判断就是了,条数 top 1 自己修改,10000 是表 AAA 随机抽取10000的记录条数

总的意思段代码就是 随机读取 带条件类型的 数据,如果实在不清楚,请加我的QQ156107320 。

至于是不是你要的东西,你自己试了就晓得了,希望能帮助到你,大家一起学习,分多分少都没关系。

热心网友 时间:2022-04-11 03:23

select top n * from [table] order by rnd(id) 'id为自动编号

加条件 select top n * from [table] where title='中国' order by rnd(id) 等等

热心网友 时间:2022-04-11 04:58

  一个实例:
  SQL="Select top 6 * from Dv_bbs1 order by newID() desc"
  随机取一条指定条件的的实现语句:
  在ACCESS里
SELECT top 15 id FROM tablename order by rnd(id)
  SQL Server:
Select TOP N * From TABLE Order By NewID()
  Access:
Select TOP N * From TABLE Order By Rnd(ID)
Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
Select TOP N * From TABLE Order BY Rnd(Len(UserName))
  MySql:
Select * From TABLE Order By Rand() Limit 10
  SQL数据库有个newid函数,可以很方便的用SQL语句得到表中的随机数据。
  但access数据库没这么方便,虽然有个Rnd,可以通过“select top 10 * from tb order by rnd(id)”得到随机数据,在程序中简单的加上Randomize,是没作用的,道理很简单,Randomize不可能影响SQL语句中的rnd,那只不过是个字符串,SQL语句是放到jet中去执行的。

热心网友 时间:2022-04-11 06:49

如果1L的方法做不到,你可以把rs记录集作为一个枚举类型或数组,在程序里判断。由于不知道你用的是何种语言,在此告诉你一个思路

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com