Office中国论坛/Access中国论坛

标题: 关于随机取记录(召唤达人啊) [打印本页]

作者: 石三少    时间: 2009-12-29 13:31
标题: 关于随机取记录(召唤达人啊)
本帖最后由 石三少 于 2009-12-29 16:19 编辑

我做了个查询,只能随机取不重复记录,
而实际上我希望做到,按比例随机取不重复数据,
哪位达人帮下忙?
作者: chaojianan    时间: 2009-12-29 14:56
你看看查询2可以否。
作者: 石三少    时间: 2009-12-29 15:33
本帖最后由 石三少 于 2009-12-31 10:57 编辑

谢谢楼上的,但并不是你所写的那样
我需要的是每次随机出来20%,3个部门随机出来的数据应该跟着每个部门数据的增减一起变化的,比如现在A部门有10条数据,每次就随机出来2条,如果A部门变成了100条数据,就随机出来20条。
我自己做的查询和我这个要求没什么关系的,可能误导你了。
作者: 石三少    时间: 2009-12-29 16:35
自己再顶下
作者: 石三少    时间: 2009-12-30 15:01
再顶下
作者: 石三少    时间: 2009-12-31 10:56
本帖最后由 石三少 于 2009-12-31 11:06 编辑

按每部门20%的比例生成不重复记录,部门不能轮空,变通的分了几步                        
1、先随机每个部门的20%;                    
2、把每部门的随机记录联合查询出来;         
3、通过追加和更新把已经生成过的标记为-1;      
现在遇到的问题是,每生成一次记录,20%的数量就减少了(比如A部门本来有100台机器,第一次的20%为20台,第二次因为要不重复生成就把第一次生成的10条数据筛选掉了,20%就变成了18台),而我希望每次的20%都是以100台机器来计算的。这个实例主要是用于工厂设备的抽检
作者: todaynew    时间: 2009-12-31 15:06
按每部门20%的比例生成不重复记录,部门不能轮空,变通的分了几步                        
1、先随机每个部门的20%;                    
2、把每部门的随机记录联合查询出来;         
3、通过追加和更新把已经 ...
石三少 发表于 2009-12-31 10:56

算术问题。其实很简单,抽样比例不变的话,抽样数量一定变化;抽样数量不变的话,抽样比例必然变化。
实际上抽样保持20的抽样数量的话,抽样比例为一个递增的数列:20%;25%;33.33%;50%;100%。
作者: 石三少    时间: 2009-12-31 15:22
todaynew 你讲的我能理解,问题在于我现在做不到,或者说是不能简单的做到,照你的思路我必须要再加三步,甚至更多的步骤,不知道todaynew 你有何妙招,希望给予帮助!
作者: todaynew    时间: 2009-12-31 15:31
本帖最后由 todaynew 于 2009-12-31 16:00 编辑

我觉得不要用查询,直接用ADO记录集解决比较简单。因为数列的递增是有计算规律可循的。加之抽样的数据也不需要临存一张表中,这样可以避免数据冗余。

如果还想用查询的话,应该在基础表中在增加一个字段,该字段用以标识第几次被抽中。然后在查询中写子查询时用这个字段计算下一次抽样的比例。不过查询写起来会很复杂。
作者: 石三少    时间: 2009-12-31 16:27
我也想过用ADO记录集,但是奈何对它不是很熟悉,用起来总觉得不是很得心应手,麻烦todaynew写个实例我学习下,拜托了!
作者: todaynew    时间: 2009-12-31 17:23
放假期间帮你处理一下。
作者: todaynew    时间: 2009-12-31 20:31
我也想过用ADO记录集,但是奈何对它不是很熟悉,用起来总觉得不是很得心应手,麻烦todaynew写个实例我学习下,拜托了!
石三少 发表于 2009-12-31 16:27

[attach]41052[/attach]
[attach]41053[/attach]
作者: 红尘如烟    时间: 2009-12-31 21:54
本帖最后由 红尘如烟 于 2009-12-31 21:56 编辑

[attach]41057[/attach]
作者: 红尘如烟    时间: 2009-12-31 22:08
小石头侵犯我肖像权哈
作者: 石三少    时间: 2010-1-4 12:44
谢谢红尘猪头还有todaynew ,2个方法都非常好,学习了
作者: cclxf    时间: 2010-1-18 11:41
非常好!
作者: nczx    时间: 2010-1-22 12:48
谢了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3