したがって、このようなものを取得するには、サブクエリを使用します。そうすれば、RAND()を外部クエリに配置するだけで、負担が大幅に軽減されます。
あなたの質問から私が理解したことから、あなたは最高のスコアを持つテーブルから200人の男性が欲しいです...それは次のようになります:
SELECT *
FROM table_name
WHERE age = 'male'
ORDER BY score DESC
LIMIT 200
5つの結果をランダム化すると、次のようになります。
SELECT id, score, name, age, sex
FROM
( SELECT *
FROM table_name
WHERE age = 'male'
ORDER BY score DESC
LIMIT 200
) t -- could also be written `AS t` or anything else you would call it
ORDER BY RAND()
LIMIT 5