最近发现一个超级晕的问题:
从sqlserver数据表中随机抽取不重复的记录,我用了以下的方法,从没发现问题。因为数据表中有1万条记录,所以当8个人同时抽取时,不会发现这个问题。现在我发现,数据表中的记录数在1000条以下时,随机抽取时,经常发现会有重复。而且一个人刚抽了,另一个人可能会马上抽到这个相同的,不知为什么???
用了 order by NEWID() 实现。set @TheStrWhere='select top 1 * from [' + @dataname + '] where LoadedUserId="new" order by NEWID() '不知那位大哥能帮我解决这个问题。或给个建议,首先肯定,数据表本身没有重复的记录。
从sqlserver数据表中随机抽取不重复的记录,我用了以下的方法,从没发现问题。因为数据表中有1万条记录,所以当8个人同时抽取时,不会发现这个问题。现在我发现,数据表中的记录数在1000条以下时,随机抽取时,经常发现会有重复。而且一个人刚抽了,另一个人可能会马上抽到这个相同的,不知为什么???
用了 order by NEWID() 实现。set @TheStrWhere='select top 1 * from [' + @dataname + '] where LoadedUserId="new" order by NEWID() '不知那位大哥能帮我解决这个问题。或给个建议,首先肯定,数据表本身没有重复的记录。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货