怎样构造 随机取一条记录的SQL语句 ~~~~~~!!!!!(50分)

  • 主题发起人 主题发起人 wzs
  • 开始时间 开始时间
W

wzs

Unregistered / Unconfirmed
GUEST, unregistred user!
SQL Server
Oracle !!
 
用随机数呀
 
构建一个以表中主键为内容的数组,产生一个在此数组范围的随机数。。。
 
SQL只能返回一条记录!!!
且每次记录不能重复!!!!
 
n=一个随机数
select top 1 * from tablename where id=n
假设你有id字段
 
能否返回一随机行!!
 
这样有可能无记录返回!
 
不是要做Tip of the Day吧??
我觉得Drummer的已经能用了
 
任意一个有记录10000~~条的表
从表中随机取一条
select * from table1 where (random row)
 
看了oracle 的帮助文档,我的oracle 8.0.5 怎么没有 dbms_random 包.
 
select * from your_table where rownum=(select [red]random[/red](count(*)) from your_table)

oracle 中随机数怎么产生?没有dbms_random 包怎么办?????
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
这个问题很好解决呀,在你的表中构件一个字段,比如叫UsedFlag,这个字段是布尔类型的,
当你取出一个记录后,将改字段设置成true, 当你下次在随即抽取记录的时候,
先检查这个字段是否为真,如果为真,则再随即抽取,直到抽取的随即记录的UsedFlag为假
时为止。
如果你有需要,可以将这个字段的所有记录全部初始化为假。
比如,你希望每次启动应用程序的时候都重新抽取。
 
关注: http://www.delphibbs.com/delphibbs/dispq.asp?lid=986051
 
后退
顶部