MySQL中的RAND()函数用于返回范围0 <= V <1.0的随机浮点值V。如果要获得i <= R
用法:
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