Takim zapytaniem uzyskamy podobny wynik do funkcji RAND():
SELECT r1.id, r1.name FROM tabela AS r1 JOIN (SELECT ROUND( RAND( ) * (SELECT MAX(id) FROM tabela )) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id ASC LIMIT 1
SELECT r1.id, r1.name FROM tabela AS r1 JOIN (SELECT ROUND( RAND( ) * (SELECT MAX(id) FROM tabela )) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id ASC LIMIT 1