首页 > 数据库 > mysql教程 > 我们如何每次从 MySQL 表中随机获取不同的行或值集?

我们如何每次从 MySQL 表中随机获取不同的行或值集?

PHPz
发布: 2023-08-28 23:29:09
转载
961 人浏览过

我们如何每次从 MySQL 表中随机获取不同的行或值集?

当我们在查询中使用 RAND() 函数以及 ORDER BY 和 LIMIT 子句时,MySQL 每次都会返回不同的行或值集。要理解它,请考虑一个具有以下记录的表“Employee” -

mysql> Select * from Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | NULL   |
| 8  | Vinay  | NULL   |
+----+--------+--------+
8 rows in set (0.00 sec)
登录后复制

现在,下面的查询将使用 RAND() 函数,并在查询中同时使用 ORDER BY 和 LIMIT 子句,返回随机不同的值或行集 -

mysql> Select * from employee ORDER BY RAND() LIMIT 4;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 5  | Ram   | 20000  |
| 4  | Aarav | 65000  |
| 6  | Mohan | 30000  |
| 8  | Vinay | NULL   |
+----+-------+--------+
4 rows in set (0.00 sec)

mysql> Select * from employee ORDER BY RAND() LIMIT 4;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 6  | Mohan  | 30000  |
| 8  | Vinay  | NULL   |
| 2  | Rahul  | 20000  |
| 1  | Gaurav | 50000  |
+----+--------+--------+
4 rows in set (0.03 sec)

mysql> Select * from employee ORDER BY RAND() LIMIT 4;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 3  | Advik | 25000  |
| 8  | Vinay | NULL   |
| 7  | Aryan | NULL   |
| 5  | Ram   | 20000  |
+----+-------+--------+
4 rows in set (0.00 sec)
登录后复制

从上面的结果集中可以看出,每次运行查询时,它都会返回一组随机不同的值或行。

以上是我们如何每次从 MySQL 表中随机获取不同的行或值集?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板