Usage of RAND () functions in MySQL
This article describes how to use the RAND () function in MySQL. It is the basic knowledge of getting started with MySQL. For more information, see
MySQL RAND () function calls can generate a random number between 0 and 1:
?
1 2 3 4 5 6 7 |
Mysql> select rand (), RAND (), RAND (); + ------------------ + ----------------- + ------------------ + | RAND () | + ------------------ + ----------------- + ------------------ + | 0.45464584925645 | 0.1824410643265 | 0.54826780459682 | + ------------------ + ----------------- + ------------------ + 1 row in set (0.00 sec) |
When an integer parameter is called, RAND () uses the random number generator seed value. Each time the seed value is generated, RAND () generates a series of numbers that can be repeated:
?
1 2 3 4 5 6 7 |
Mysql> select rand (1), RAND (), RAND (); + ------------------ + | RAND (1) | RAND () | + ------------------ + | 0.18109050223705 | 0.75023211143001 | 0.20788908117254 | + ------------------ + 1 row in set (0.00 sec) |
You can use order by rand (). The random group rows or values are as follows:
To learn about the order by rand () function, assume that the table of EMPLOYEE_TBL 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 | 250 | | 2 | Ram | 220 | | 3 | Jack | 170 | | 3 | Jack | 100 | | 4 | Jill | 220 | | 5 | Zara | 300 | | 5 | Zara | 350 | + ------ + ------------ + -------------------- + 7 rows in set (0.00 sec) |
Use the following directory:
?
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 | 300 | | 3 | Jack | 100 | | 3 | Jack | 170 | | 2 | Ram | 220 | | 4 | Jill | 220 | | 5 | Zara | 350 | | 1 | John | 250 | + ------ + ------------ + -------------------- + 7 rows in set (0.01 sec) Mysql> SELECT * FROM employee_tbl order by rand (); + ------ + ------------ + -------------------- + | Id | name | work_date | daily_typing_pages | + ------ + ------------ + -------------------- + | 5 | Zara | 350 | | 2 | Ram | 220 | | 3 | Jack | 100 | | 1 | John | 250 | | 4 | Jill | 220 | | 3 | Jack | 170 | | 5 | Zara | 300 | + ------ + ------------ + -------------------- + 7 rows in set (0.00 sec) |