sql随机抽取记录

我们经常想在一个数据表中随机地选取出数据来,比如随机生成考试试卷等。
利用 SQL Server 的 NewID() 方法就可以很轻松地达到这个目的。

NewID() 方法返回一个 GUID,如:EE95A489-B721-4E8A-8171-3CA8CB6AD9E4
在 select 表的时候,再增加一列为 NewID() 就可以了。
SQL 语句:select *, NewID() from table
这样每条记录后就会有一个随机的 GUID 值,我们再按这个 GUID 排一下序就可以达到乱序的效果。
SQL 语句:select *, NewID() as random from table order by random

我们要想随机取出 10 条数据,只要加上 TOP 10 就行了:
SQL 语句:select top 10 *, NewID() as random from table order by random

筛选唯一记录
SELECT * FROM tablename ORDER BY NEWID()

这个方法只适用于 SQL Server。

posted on   colipso  阅读(1926)  评论(0编辑  收藏  举报

< 2008年11月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6

导航

统计

点击右上角即可分享
微信分享提示