2012-04-01 11 views
1

テーブルからランダムな行を選択するにはどうすればよいですか?SQL Server CE - ランダムな行を選択する

たとえば、条件に一致するテーブルに1000行がある場合は、ランダムなものを20個だけ選択します。

TOPと似ていますが、ランダムです。

ありがとうございます。これはSQL Server CE 3.5用です!

答えて

2

これはいかがですか?

SELECT TOP(20) * FROM myTable ORDER BY NEWID() 
+0

ありがとうございました!動作しているようです。 – Meowbits

+0

@Mitch - それは変です、残念ながら、私は現時点でそれを試して4.0を持っていません。 – BluesRockAddict

+0

@Meowbits - うれしく思う。 – BluesRockAddict

2

どの程度SELECT * FROM tbl_name ORDER BY RAND() LIMIT 0,20; しかし、あなたのDBは(NEWID)とランド()両方の行が遅い実行することになり万人である場合。 より高速なソリューションがあります。 Read this

+0

私が作ったクエリが遅すぎる場合は、それを見てください。投稿していただきありがとうございます。 – Meowbits

+0

RAND()はMySQL用ですが、質問はSQL SERVER CEについてです。 –