有时候我们需要在一堆数据中每次随机展示几条数据出来 , 之前找了很多方法 , 也用过视图加临时字段来解决 , 但终究都是太麻烦了 , 这里有个最简单但是超实用的方法来使用 .
正文就一行代码
select top n * from TableName order by newid()
是不是简洁明了 , 快拿去使用吧 !
原因是NEWID()为表里的每一行数据在内存里生成一个GUID。而因为GUID的值唯一而很随机,这样的话按GUID排序取出来的数据相对的也很随机。
除了能随机的取出一条数据 , 还可以使用 TOP N PERCENT (取得前N%的数据) .
参考链接 : http://msdn.microsoft.com/en-us/library/cc441928.aspx