當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL RAND()用法及代碼示例


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

相關用法


注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 RAND() Function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。