select top 5 * from tableA order by newid() 应该接着后面写啊!但是我不知道随机抽取以什么为条件!不知道条件。怎么写语句?
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.唯一标识列
你只说抽几个,所以别人给你的例子是5完全可以. select top 5 * from tableA order by newid()order by newid()以后,就完全是随机的了.所以前面的top 5也就不是普通意义上的前5个.而是先随机以后的前5.你也可以使用exec,加个变量,top n 就可以随便取任意数量的随机数.
先试一下再说!
在抽取后怎么把以抽取的记录删除或UPDATA
应该接着后面写啊!但是我不知道随机抽取以什么为条件!不知道条件。怎么写语句?
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.唯一标识列
select top 5 * from tableA order by newid()order by newid()以后,就完全是随机的了.所以前面的top 5也就不是普通意义上的前5个.而是先随机以后的前5.你也可以使用exec,加个变量,top n 就可以随便取任意数量的随机数.