2010-12-06 6 views
2

私は最高のスコアを持つ3つの行を選択しようとしています。もちろん、私のようなシンプルなものを使用することができます。MYSQLランダム行/注文の質問

SELECT * FROM myTable ORDER BY myscore DESC LIMIT 3; 

しかし、私も欲しいのは、これはランダムにのみこれらの3行の1つを返すための簡単な方法です。通常は私は単にORDER BY rand()を実行しますが、それは3つのスコアリングされた行のうちのランダムなものでなければならない制約を追加する最もクリーンな方法は何ですか?

ありがとうございます!

答えて

4
SELECT * FROM 
(
SELECT * FROM myTable ORDER BY myscore DESC LIMIT 3 
) Top3 
ORDER BY RAND() LIMIT 1;