送分题:随机获得一张表任意行的数据的sql写法~~~

jxwa_wzw 2005-12-09 09:53:52
select * from a where ……

where 后面如何写 假如a表有100行,我想随机函数取出其中任意一行的数据 该如何做?
...全文
167 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
husongnan 2005-12-15
  • 打赏
  • 举报
回复
不知道对不对,你试试看吧

取得数据库最大id值
set rs = conn.execute("select max(id) from a")
total = rs(0)

产生一个随机的id值
Randomize
temp = Int(total * Rnd + 1)

在查询
set rs = conn.execute("select * from a where id = "& temp &"
jxwa_wzw 2005-12-15
  • 打赏
  • 举报
回复
我一张表有 500万条记录啊 没有其他办法吗?
ball2fan 2005-12-15
  • 打赏
  • 举报
回复
同意楼上的
DG_1 2005-12-15
  • 打赏
  • 举报
回复
MS-SQL 中
select top 1 * from table order by new_id()
就是隨機的一筆啊
lxzm1001 2005-12-09
  • 打赏
  • 举报
回复
select top 1 * from table order by new_id()
拓狼 2005-12-09
  • 打赏
  • 举报
回复
select top 1 * from table order by new_id()
kolosi 2005-12-09
  • 打赏
  • 举报
回复
没有这种字段,如果想要编号的话,要自己建立一个排序编号的列,或者原来你就有这样的列。
Select w_id,w_name,(select count(w_id) from t3 where w_id<=a.w_id) new_id
from t3 a
order by w_id

这样,你就可以根据new_id行来选择了。 不过w_id一定要是你的主键才好。
jxwa_wzw 2005-12-09
  • 打赏
  • 举报
回复
用外部程序的话也要调用sql,那sqlserver中具体行=多少的字段是哪个?
select * from a where rownum=123
上面这条语句提示无 rownum 字段,不知道sql中内部行的对象是什么?
kolosi 2005-12-09
  • 打赏
  • 举报
回复
不建议用SQL来处理这种问题,程序才是专家。
jxwa_wzw 2005-12-09
  • 打赏
  • 举报
回复
由于该表没有具体的id字段 所以只能利用系统来随机取出任意一行!每次运行后都希望是不同的行!
lw1a2 2005-12-09
  • 打赏
  • 举报
回复
这个似乎应该放在前台来处理,而不是放在数据库里

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧