這篇文章主要介紹了MySQL中的RAND()函數使用詳解,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
MySQL RAND()函數調用可以在0和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)當調用一個整數參數時,RAND()使用該隨機數發生器種子值。每次在給定值種子生成,RAND()會產生一個可重復的一系列數字:
?
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)可以使用ORDER BY RAND(),隨機組行或值如下:
要了解ORDER BY RAND()函數, 假設EMPLOYEE_TBL的表有以下記錄:
?
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)現在使用以下目錄:
?
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 ORDER 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)