[SQL Server] データをランダムに抽出するための NEWID 関数と件数指定
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