从表中任意取不定数目的记录且记录不重复。(200分)

  • 主题发起人 主题发起人 张仪
  • 开始时间 开始时间
SQL Server:
Query1.SQL.Add('SELECT DISTINCT TOP ');
Query1.SQL.Add(IntToStr(RecCount)); // RecCount:不定数目的记录
Query1.SQL.Add(' * FROM TableName');
 
如果不需要随机的话,xWolf的方法就足够了。
需要随机就麻烦了。
 
》记录不重复
select distinct ......

》从表中任意取不定数目的记录
取回来了再在TQuery取前几个吧
 
任意取不定数目?
产生 n 个互不重复的随机数.取对应记录号的数据.
 
我需要取随机的记录。用的函数Random
谢谢各位大虾。
 
那只好先Select * From TableName,然后用Locate(Random(RecCount))来取了,
取了以后判断一下是否已经取过了。我就是这么做的,呵呵。很慢的。
 
没有其他的办法吗?记录很多。
 
生成20个随机数
然后
select * from yourdb where yourfield in [23,56,78,99....]//对应你生成
的20个随机数
 
agree hubdog
'select * from yourdb where yourfield =23 or yourfield=56 or yourfield=78 or 99....'
:)
 
分数有限,谢谢讨论。
 
讨论完毕
 
接受答案了.
 
后退
顶部