This article mainly introduces the rand () function in MySQL in the use of detailed, is the basic knowledge of MySQL primer, need friends can refer to the
The MySQL RAND () function call can produce a random number between 0 and 1:
?
1 2 3 4 5 6 7 |
Mysql> SELECT rand (), RAND (), Rand (); +------------------+-----------------+------------------+ | RAND () | RAND () | RAND () | +------------------+-----------------+------------------+ | 0.45464584925645 | 0.1824410643265 | 0.54826780459682 | +------------------+-----------------+------------------+ 1 row in Set (0.00 sec) |
When an integer argument is invoked, RAND () uses the random number generator seed value. Each time a given value seed is generated, RAND () produces a repeatable series of numbers:
?
1 2 3 4 5 6 7 |
Mysql> SELECT rand (1), Rand (), Rand (); +------------------+------------------+------------------+ | RAND (1) | RAND () | RAND () | +------------------+------------------+------------------+ | 0.18109050223705 | 0.75023211143001 | 0.20788908117254 | +------------------+------------------+------------------+ 1 row in Set (0.00 sec) |
You can use ORDER by RAND (), with the group row or value as follows:
To understand the order by RAND () function, assume that the EMPLOYEE_TBL table has the following records:
?
1 2 3 4 5 6 7 8 9 10 11 12-13 |
Mysql> SELECT * from EMPLOYEE_TBL; +------+------+------------+--------------------+ | ID | name | Work_date | Daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+ 7 rows in Set (0.00 sec) |
The following directories are now used:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Mysql> SELECT * from Employee_tbl ORDER by RAND (); +------+------+------------+--------------------+ | ID | name | Work_date | Daily_typing_pages | +------+------+------------+--------------------+ | 5 | Zara | 2007-06-06 | 300 | | 3 | Jack | 2007-04-06 | 100 | | 3 | Jack | 2007-05-06 | 170 | | 2 | Ram | 2007-05-27 | 220 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-02-06 | 350 | | 1 | John | 2007-01-24 | 250 | +------+------+------------+--------------------+ 7 rows in Set (0.01 sec) mysql> SELECT * from Employee_tbl ORD ER by RAND (); +------+------+------------+--------------------+ | ID | name | Work_date | Daily_typing_pages | +------+------+------------+--------------------+ | 5 | Zara | 2007-02-06 | 350 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-04-06 | 100 | | 1 | John | 2007-01-24 | 250 | | 4 | Jill | 2007-04-06 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 5 | Zara | 2007-06-06 | 300 | +------+------+------------+--------------------+ 7 rows in Set (0.00 Sec |