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

解决方案 »

  1.   

    select top 1  * from (select TOP 1 percent * from chen order by newid()) a order by newid()
      

  2.   

    正在查原因,那么,如何列出所有相同的记录,用一条sql语句表达??????
      

  3.   

    select top 1  * from (select TOP 1 percent * from chen order by newid()) a order by newid()什么意思?????????可以解释一下吗,大可