随机提取数据?
比如一个表里符合同一条件的有50条数据,如何用SQL语句随机抽取其中20条,并且每次抽取的数据要求不同???请问如何实现?谢谢~! 问题点数:20、回复次数:3Top
1 楼TianChong(*︿_︿* ○Ооo○泡泡oо㊣VC高手群:2997669)回复于 2006-03-18 23:20:27 得分 15
这个好办,用一个数据窗口将所有记录读取出来,假设读取了50条,然后你使用random来随机生成一个种子:
long i,rowcount
rowcount=dw_1.rowcount() //取数据窗口里一共有多少条记录
FOR i = 1 to 20 //你要取20条随机记录
long RowNo
Randomize(0) //重新生成种子
RowNo=Rand(rowcount) //重新取得随机数,其值为1-rowcount中的任意一个
//现在已取得RowNo这个记录
//你可以取其值了,getitemstring(x,y)自己要怎么就怎么了,
//
//然后要将这一行已取值的删除,否则你就要一个数组要判断是否取值有重复,想一下20条记录啊,很可能重复的。所以一定要删除掉,这样想重复也重复不了了。哈哈
dw_1.deleterow(RowNo)
rowcount=dw_1.rowcount() //重新取数据窗口里的总记录数,以便生成合法的RowNo。
NEXT //直到完成20条记录Top
2 楼fouryears(陈四)回复于 2006-03-19 11:03:06 得分 5
同意楼上Top
3 楼lingling821215()回复于 2006-03-20 08:30:17 得分 0
如果我用的是游标呢?读取游标的时候是按顺序读取的,那该怎么办呢?Top




