Трябва да го обърнете:
SELECT * FROM infos WHERE category=...
ORDER BY rate DESC, like DESC, RAND();
По този начин сортира по скорост, след това харесва и накрая произволно, ако процентът и харесването са равни.
Също така оригиналният ви ORDER BY с RAND() не работи, защото използвате две клаузи ORDER BY.