mysql中rand的用法_MySQL RAND()用法及代码示例

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值