私は同様のクエリに対して複数の回答を読んだことがありますが、そのどれも現れていないようです。テーブルから3つのランダムなレコードを取得する
私は10行を含むテーブルを持っていると思いますが、Entity Frameworkを使用してこのテーブルから3つのランダムな行を取得するにはどうすればよいですか?ランダムな行は1つではありませんが、ランダムな行は3つあります。 SqlFunctions自体で指定されたランダムを使用していない理由を事前に
おかげ
私は同様のクエリに対して複数の回答を読んだことがありますが、そのどれも現れていないようです。テーブルから3つのランダムなレコードを取得する
私は10行を含むテーブルを持っていると思いますが、Entity Frameworkを使用してこのテーブルから3つのランダムな行を取得するにはどうすればよいですか?ランダムな行は1つではありませんが、ランダムな行は3つあります。 SqlFunctions自体で指定されたランダムを使用していない理由を事前に
おかげ
var threeRandomFoos = foos.OrderBy(x => Guid.NewGuid()).Take(3);
は代わりに、もっと簡単な方法があり、
var threeRandomFoos = foos.OrderBy(x=> SqlFunctions.Rand()).Take(3);
はGuid.NewGuidは、パフォーマンスが少し遅くなりますか?
'Rand'は一度しか評価されないので有用ではないようです:' SELECT TOP(3) - いくつかの列... \t RAND()AS [ C1]、 \t - \t FROM [dbo]。[MyTable] AS [Extent1] )[Project1] ORDER BY [Project1]。[C1] ASC'。私はSQL Server 2008 R2を使用しています。 –
これでシンプルさが素晴らしいです!乾杯! – Sniffer