当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。