Mysql Random
RAND(), RAND(N)
Returns a random floating-point value in the range between 0 and 1.0.
If a constant integer argument N is specified, it is used as the seed value, which produces a repeatable sequence of column values.
mysql> SELECT RAND();
-> 0.23232388898988
mysql> SELECT RAND(10);
-> 0.98989899999999
mysql> SELECT RAND(10);
-> 0.98989899999999
mysql> SELECT RAND();
-> 0.63553050033332
mysql> SELECT RAND(10);
-> 0.98989899999999
To obtain a random integer R in the range i SELECT * FROM tbl_name ORDER BY RAND();
ORDER BY RAND() combined with LIMIT is useful for selecting a random sample from a set of rows:
mysql> SELECT * FROM table1, table2 WHERE a=b AND c ORDER BY RAND() LIMIT 1000;
Note that RAND() in a WHERE clause is re-evaluated every time the WHERE is executed.
RAND() is not meant to be a perfect random generator, but instead is a fast way to generate ad hoc random numbers which is portable between platforms for the same MySQL version.
