Dla mnie to działa dobrze. Pierwszym wynikiem jest zawsze rekord o identyfikatorze 5, drugi wiersz jest losowy. Zwróć uwagę, że jeśli nie istnieje żaden rekord o identyfikatorze 5, oba wiersze będą losowe.
SELECT * FROM users ORDER BY (user_id = 5) DESC, RAND() LIMIT 0,2