MySQL中的RAND()函數用於返回範圍0 <= V <1.0的隨機浮點值V。如果要獲得i <= R <j範圍內的隨機整數R,則必須使用以下表達式:FLOOR(i + RAND() *(j − i))。
用法:
RAND(N)
參數:此方法僅接受一個參數。
N:如果指定N,則返回可重複的隨機數序列。如果未指定N,它將返回一個完全隨機的數字。它是可選的,用作種子值。
返回:它返回介於0和1之間的隨機浮點數。
Example-1:
使用RAND函數獲得0到1之間的隨機值。
SELECT RAND() AS Random_Number;
輸出:
Random_Number |
---|
0.6332025068189973 |
示例2:
使用帶種子值的RAND函數獲得0到1之間的隨機值。
SELECT RAND(), RAND(5), RAND(5);
輸出:
RAND() | 蘭德(5) | 蘭德(5) |
---|---|---|
0.9580191140603452 | 0.40613597483014313 | 0.40613597483014313 |
因此,在這裏我們可以看到,如果我們使用相同的種子值來生成隨機數,那麽結果將是相同的隨機數。
示例3:
使用RAND函數獲得介於[5,10)之間的隨機值。在這裏,我們將使用表達式:FLOOR(i + RAND() *(j − i))生成隨機數。在這裏,我將是5,而j將是10。
SELECT FLOOR(5 + RAND()*(10-5)) AS Random_Number;
輸出:
Random_Number |
---|
6 |
示例4:
使用RAND函數獲得[5,10]範圍內的隨機值。在這裏,我們將使用表達式:FLOOR(i + RAND() *(j − i + 1))生成隨機數。在這裏我將是5,j將是10。
SELECT FLOOR(5 + RAND()*(10 - 5 + 1)) AS Random_Number;
輸出:
Random_Number |
---|
10 |
示例5:
使用RAND函數以隨機順序從類別表返回行。為了演示,創建一個名為Student的表。
CREATE TABLE Student( Student_id INT AUTO_INCREMENT, Student_name VARCHAR(100) NOT NULL, Student_Class VARCHAR(20) NOT NULL, TotalExamGiven INT NOT NULL, PRIMARY KEY(Student_id ) );
現在將數據插入到Student表中-
INSERT INTO Student(Student_name, Student_Class, TotalExamGiven) VALUES ('Sayan', 'IX', 8), ('Nitin', 'X', 5), ('Aniket', 'XI', 6), ('Abdur', 'X', 7), ('Riya', 'IX', 4), ('Jony', 'X', 10), ('Deepak', 'X', 7), ('Ankana', 'XII', 5), ('Shreya', 'X', 8);
要獲取有關學生桌的所有詳細信息,我們將使用-
SELECT * FROM Student;
輸出:
學生卡 | Student_name | Student_Class | 考試總數 |
---|---|---|---|
1 | Sayan | IX | 8 |
2 | Nitin | X | 5 |
3 | Aniket | XI | 6 |
4 | Abdur | X | 7 |
5 | Riya | IX | 4 |
6 | Jony | X | 10 |
7 | Deepak | X | 7 |
8 | Ankana | XII | 5 |
9 | Shreya | X | 8 |
因此,我們可以看到表中的所有行均以正確的順序給出。要以隨機順序從Student表返回行,我們將使用-
SELECT * FROM Student ORDER BY RAND();
輸出:
學生卡 | Student_name | Student_Class | 考試總數 |
---|---|---|---|
6 | Jony | X | 10 |
1 | Sayan | IX | 8 |
5 | Riya | IX | 4 |
2 | Nitin | X | 5 |
3 | Aniket | XI | 6 |
8 | Ankana | XII | 5 |
9 | Shreya | X | 8 |
4 | Abdur | X | 7 |
7 | Deepak | X | 7 |
相關用法
- MySQL LEAD() and LAG()用法及代碼示例
- MySQL BIN()用法及代碼示例
- MySQL LAST_DAY()用法及代碼示例
- MySQL WEEKOFYEAR()用法及代碼示例
- MySQL MOD()用法及代碼示例
- MySQL Group_CONCAT()用法及代碼示例
- MySQL DEFAULT()用法及代碼示例
- MySQL AES_ENCRYPT()用法及代碼示例
- MySQL AES_DECRYPT()用法及代碼示例
- MySQL MD5用法及代碼示例
- MySQL COMPRESS( )用法及代碼示例
- MySQL PASSWORD用法及代碼示例
- MySQL OLD_PASSWORD用法及代碼示例
- MySQL DES_DECRYPT()用法及代碼示例
- MySQL DES_ENCRYPT()用法及代碼示例
- MySQL DECODE( )用法及代碼示例
- MySQL ENCODE( )用法及代碼示例
- MySQL SHA1( )用法及代碼示例
注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 RAND() Function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。