sql隨機抽取記錄

weixin_34344677發表於2008-11-24
我們經常想在一個資料表中隨機地選取出資料來,比如隨機生成考試試卷等。
利用 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。

相關文章