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