SQL Server には、ランダムにデータを抽出したい場合などのために、NEWID() という組み込み関数が用意されている。
NEWID (Transact-SQL) - msdn
http://technet.microsoft.com/ja-jp/library/ms190348.aspx
上記の NEWID() と TOP を組み合わせることで、ランダムに指定した件数のデータを抽出する SELECT 文が完成する。
NEWID (Transact-SQL) - msdn
http://technet.microsoft.com/ja-jp/library/ms190348.aspx
上記の NEWID() と TOP を組み合わせることで、ランダムに指定した件数のデータを抽出する SELECT 文が完成する。
IF EXISTS (SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID = OBJECT_ID('TEMPDB..#HOGE')) DROP TABLE #HOGE
CREATE TABLE #HOGE
(
 NUM  INT IDENTITY
 ,NAME  VARCHAR(20)
)
INSERT INTO
 #HOGE (NAME)
VALUES
 ('Casey ')
 ,('Katelyn')
 ,('Garrett ')
 ,('Leslie ')
 ,('Spencer')
 ,('Monique')
 ,('Martin')
 ,('Alexandria')
 ,('George')
 ,('Holly')
 ,('Manuel')
 ,('Mayra')
 ,('Marcus')
 ,('Krystal')
 ,('Mario')
 ,('Bianca')
-- TOP で件数指定することで、ランダムに取得。
SELECT
 TOP 10
 NUM
 ,NAME
FROM
 #HOGE
ORDER BY NEWID()
DROP TABLE #HOGE