随意抽取5个记录
select top 5 * from tableA orderby newid()

解决方案 »

  1.   

    select top 5 * from tableA order by newid()
      

  2.   

    order by newid()
    先试一下再说!
      

  3.   

    在sql server中,记录是没有前后次序的,直接取数据当然也是可以,不过简单一些还可以,如果你抽取的算法复杂一些,应该把数据放到本地处理会方便一点
      

  4.   

    另一个问题!
    在抽取后怎么把以抽取的记录删除或UPDATA
      

  5.   

    select top 5 * from tableA order by newid()
    应该接着后面写啊!但是我不知道随机抽取以什么为条件!不知道条件。怎么写语句?
      

  6.   

    delete tableA
    where 唯一标识列 in(select top 5 唯一标识列 
                        from tableA order by newid())或:
    delete tableA
    from (select top 5 唯一标识列 
                        from tableA order by newid()) as B
    where tableA.唯一标识列 = B.唯一标识列 
      

  7.   

    你只说抽几个,所以别人给你的例子是5完全可以.
    select top 5 * from tableA order by newid()order by newid()以后,就完全是随机的了.所以前面的top 5也就不是普通意义上的前5个.而是先随机以后的前5.你也可以使用exec,加个变量,top n 就可以随便取任意数量的随机数.