Според документацията RAND(n) работи правилно само ако n е постоянно. Ефектът от използването на непостоянен аргумент е недефиниран. От MySQL 5.0.13 непостоянните аргументи не са разрешени.
И както се казва RAND() не е предназначен да бъде перфектен генератор на случаен принцип. Това е бърз начин за генериране на произволни числа при поискване, който е преносим между платформи за една и съща версия на MySQL.
Проверете какво ще се случи, ако използвате RAND() без параметър.