博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL中的RAND()函数使用详解
阅读量:6977 次
发布时间:2019-06-27

本文共 2502 字,大约阅读时间需要 8 分钟。

转自:https://www.jb51.net/article/66697.htm

MySQL RAND()函数调用可以在0和1之间产生一个随机数:

1
2
3
4
5
6
7
mysql>
SELECT
RAND( ), RAND( ), RAND( );
+
------------------+-----------------+------------------+
| RAND( )   | RAND( )   | RAND( )   |
+
------------------+-----------------+------------------+
| 0.45464584925645 | 0.1824410643265 | 0.54826780459682 |
+
------------------+-----------------+------------------+
1 row
in
set
(0.00 sec)

当调用一个整数参数时,RAND()使用该随机数发生器种子值。每次在给定值种子生成,RAND()会产生一个可重复的一系列数字:

1
2
3
4
5
6
7
mysql>
SELECT
RAND(1), RAND( ), RAND( );
+
------------------+------------------+------------------+
| RAND(1 )   | RAND( )   | RAND( )   |
+
------------------+------------------+------------------+
| 0.18109050223705 | 0.75023211143001 | 0.20788908117254 |
+
------------------+------------------+------------------+
1 row
in
set
(0.00 sec)

可以使用ORDER BY RAND(),随机组行或值如下:

要了解ORDER BY RAND()函数, 假设EMPLOYEE_TBL的表有以下记录:

1
2
3
4
5
6
7
8
9
10
11
12
13
mysql>
SELECT
*
FROM
employee_tbl;
+
------+------+------------+--------------------+
| id |
name
| work_date | daily_typing_pages |
+
------+------+------------+--------------------+
| 1 | John | 2007-01-24 |    250 |
| 2 | Ram | 2007-05-27 |    220 |
| 3 | Jack | 2007-05-06 |    170 |
| 3 | Jack | 2007-04-06 |    100 |
| 4 | Jill | 2007-04-06 |    220 |
| 5 | Zara | 2007-06-06 |    300 |
| 5 | Zara | 2007-02-06 |    350 |
+
------+------+------------+--------------------+
7
rows
in
set
(0.00 sec)

现在使用以下目录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
mysql>
SELECT
*
FROM
employee_tbl
ORDER
BY
RAND();
+
------+------+------------+--------------------+
| id |
name
| work_date | daily_typing_pages |
+
------+------+------------+--------------------+
| 5 | Zara | 2007-06-06 |    300 |
| 3 | Jack | 2007-04-06 |    100 |
| 3 | Jack | 2007-05-06 |    170 |
| 2 | Ram | 2007-05-27 |    220 |
| 4 | Jill | 2007-04-06 |    220 |
| 5 | Zara | 2007-02-06 |    350 |
| 1 | John | 2007-01-24 |    250 |
+
------+------+------------+--------------------+
7
rows
in
set
(0.01 sec)
 
mysql>
SELECT
*
FROM
employee_tbl
ORDER
BY
RAND();
+
------+------+------------+--------------------+
| id |
name
| work_date | daily_typing_pages |
+
------+------+------------+--------------------+
| 5 | Zara | 2007-02-06 |    350 |
| 2 | Ram | 2007-05-27 |    220 |
| 3 | Jack | 2007-04-06 |    100 |
| 1 | John | 2007-01-24 |    250 |
| 4 | Jill | 2007-04-06 |    220 |
| 3 | Jack | 2007-05-06 |    170 |
| 5 | Zara | 2007-06-06 |    300 |
+
------+------+------------+--------------------+
7
rows
in
set
(0.00 sec)

转载地址:http://cjupl.baihongyu.com/

你可能感兴趣的文章
Oracle数据库文件坏块损坏的恢复方法
查看>>
Watir-webdriver处理table
查看>>
我的友情链接
查看>>
更改管理GPO的域控制器
查看>>
docker 数据卷与容器卷
查看>>
用路由器限制局域网的带宽流量
查看>>
2011-11-27
查看>>
linux下挂载硬盘
查看>>
C 语言 和 C++语言的对比学习 二 数据类型
查看>>
设计模式----组合模式UML和实现代码
查看>>
定期删除各子文件下数据
查看>>
更换VC后DDC提示证书不可用
查看>>
日历表
查看>>
SpringMVC中实现的token,防表单重复提交
查看>>
受限列表 队列与栈
查看>>
1.0 封装后的布局成本
查看>>
osi七层协议和tcp/ip四层协议
查看>>
我的友情链接
查看>>
马哥2-3
查看>>
Linux --进程间通信--共享内存
查看>>