It may be better to run a:
SELECT COUNT(*) AS c FROM tablename
Then use say [man]mt_rand/man to obtain an integer r in the range [0,c)
After that, run:
SELECT columns FROM tablename LIMIT r, n
where n would be the number of rows required.
This is in view that RAND() may have to be evaluated for each row in the table, which is something of a performance penalty. Furthermore, if you use MySQL, the MySQL docs claim that "RAND() is not meant to be a perfect random generator, but instead a fast way to generate ad hoc random numbers that is portable between platforms for the same MySQL version."
Not only that, but if you use Mersenne Twister, this means you get more control over the pseudorandom number sequence.