więc aby uzyskać coś takiego, użyłbym podzapytania .. w ten sposób umieszczasz tylko RAND() na zewnętrznym zapytaniu, co będzie znacznie mniej obciążające.
Z tego, co zrozumiałem z twojego pytania, chcesz 200 mężczyzn ze stołu z najwyższym wynikiem... więc to byłoby mniej więcej tak:
SELECT *
FROM table_name
WHERE age = 'male'
ORDER BY score DESC
LIMIT 200
teraz, aby zrandomizować 5 wyników, byłoby to coś takiego.
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