注册 登录
编程论坛 ASP技术论坛

[求助]有没有随机选出三个这样的语句?

xinzheng 发布于 2007-08-30 21:50, 1047 次点击
有没有随机选出三个记录的语句?
13 回复
#2
天涯听雨2007-08-30 23:23
select top 3 * from table order BY NEWSID()
#3
天涯听雨2007-08-30 23:24
抱歉,上面写错了,下面正确

select top 3 * from table order BY NewID()
#4
madpbpl2007-08-30 23:27
select top 3 * from [table] order by rnd()
楼上是sqlserver,补一个acc数据库的
#5
天涯听雨2007-08-30 23:29
嗯,不错,我那个是sqlserver 的。。没有帖出ACC,楼上的补上……全了
#6
xinzheng2007-08-31 18:12

哦,我试下

[此贴子已经被作者于2007-8-31 18:13:23编辑过]

#7
xinzheng2007-08-31 18:27
回复:(xinzheng)哦,我试下[align=right][color=...
没用啊

我有个表aa

id tj nr
1 1 asdfd
2 1 asdfasdfaf
3 1 adfadfa
4 1 adfadfadf
5 1 asdfasdfasdf
6 2 adfadf
7 2 asdfasdfdf
8 2 asdfadfasdfdf
9 2 asdfadfadf
10 2 asdfadfadf
11 3 asdfasdfd
12 3 asdfadfadfadf
13 3 adfasdfasdf
14 3 adfasdfasdf
15 3 adfadfadfdf
16 3 adfasdfadfaf

我要随机取出tj编号不是1的随机三个,怎么写?access的
#8
madpbpl2007-08-31 18:48
<!--#include file="conn.asp"-->
<%
set rs=Server.CreateObject("adodb.recordset")
sql ="select top 3 * from aa where tj<>'1' order by rnd(id)"
rs.open sql,conn,1,1
%>
<%
do while not rs.eof
%>
<%=rs("id")%><%=rs("tj")%><%=rs("nr")%><br>
<%
rs.movenext
loop
%>
这里假设你的tj是文本类型
#9
xinzheng2007-08-31 19:42
谢谢
#10
xinzheng2007-08-31 19:52
回复:(madpbpl)

本地查询是随机的,可传到网络上不是随机的,是固定的三个,不知道为什么?

[此贴子已经被作者于2007-8-31 20:07:53编辑过]

#11
xinzheng2007-08-31 20:12
回复:(xinzheng)回复:(madpbpl)
<%
strsql="select top 3 * from pro_list where tj<>0 order by rnd(id)"
rs.Open strsql, conn, 1, 1
while not rs.eof %>



<a href="product_view.asp?id=<%= rs("id") %>"title="<%=rs("pro_name")%>"><%=left(rs("pro_name"),12) %></a>


<% if not rs.eof then
rs.movenext
end if
%>

<a href="product_view.asp?id=<%= rs("id") %>"title="<%=rs("pro_name")%>"><%=left(rs("pro_name"),12) %></a>


<% if not rs.eof then
rs.movenext
end if
%>

<a href="product_view.asp?id=<%= rs("id") %>"title="<%=rs("pro_name")%>"><%=left(rs("pro_name"),12) %></a>


<% if not rs.eof then
rs.movenext
end if
%>
是不是我写错了?本地数据库查询是随机的,可这样就是固定的???
#12
xinzheng2007-08-31 20:15
不管我怎么刷新网页,提取出来的还是相同的那三个品种????不知道为什么?
对了本地数据库查询时,第一次查询出的结果就是网络上显示的那三个,如果本地再次用数据库查询工具查询,结果就变了,但重启数据库查询工具查询的第一次结果还仍然是网上显示的那三个?不知道是不是还要加什么语句?

效果在这里,我是要底下经营品种的那三个,随机出现可结果却是固定的,我已经照上面的改好了,还是没用
http://www.yyhjtyz.com/

[此贴子已经被作者于2007-8-31 20:24:52编辑过]

#13
multiple19O22007-08-31 20:39
以下是引用xinzheng在2007-8-31 19:52:41的发言:

本地查询是随机的,可传到网络上不是随机的,是固定的三个,不知道为什么?


猜测:cache?

#14
madpbpl2007-09-01 10:06

没有见过你这种写法
改成
<%
strsql="select top 3 * from pro_list where tj<>0 order by rnd(id)"
rs.Open strsql, conn, 1, 1
while not rs.eof %>

<a href="product_view.asp?id=<%= rs("id") %>"title="<%=rs("pro_name")%>"><%=left(rs("pro_name"),12) %></a>


<%
rs.movenext
wend
%>

1