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