首页新闻找找看学习计划

求一自然数平均分布算法?

0
悬赏园豆:30 [已关闭问题] 关闭于 2017-07-14 08:15

现 SQL Server 数据库中有一批数据,根据ID来取,因数据量太大,不能排序,不能指定ID范围,因为要随机分布。

64次取完,平均分布,不能重复取。本来想着ID按1~64取模,想了想,显然不行,所有的数对1取模都成了0,而且像2和4,3和6都有倍数关系,取模不行。

其实64也可能是一个变量,最好是可以动态的。期待高手?

问题补充:

本也想取最小的64个素数,按这些素数取模,但无法保证这些素数可以覆盖所有整数,会存在取不完的情况。

沧海一杰的主页 沧海一杰 | 初学一级 | 园豆:28
提问于:2017-01-03 15:18
< >
分享
所有回答(3)
0

1.是从总数总取随机64条还是将总数分64次取出来

2.ID是否是连续的.如果是连续的是否知道最大ID

吴瑞祥 | 园豆:28731 (高人七级) | 2017-01-03 15:43
0

你这id不能指定范围,又不能排序,那你这id长什么样啊?怎么生成的?

让我发会呆 | 园豆:2629 (老鸟四级) | 2017-01-03 15:44
0

多谢各位,已经有了解决方案了。ID是整数,连续的,分64次取出来。我的解决方案也很简单,传入总次数(64)和当前第几次(n),  where id % 64 = n 就可以了,老了,脑子不灵光了。

  

沧海一杰 | 园豆:28 (初学一级) | 2017-01-03 15:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册