Это нормально работает для меня ..
SELECT * FROM users ORDER BY (user_id IN(5,8,9,6,3)) DESC, RAND() LIMIT 0,10
Если просто ввод условия не сработает. Так что поставьте подзапрос. Так выглядит запрос.
SELECT * FROM users ORDER BY (user_id = (select user_id FROM users WHERE
the_condition)) DESC, RAND() LIMIT 0,10