MySQL - 随机数据

MySQL - 随机数据 首页 / MySQL入门教程 / MySQL - 随机数据

有时想从数据库表中获取随机记录。 例如,无涯教程的表存储了多个引号,因此需要在GUI上显示随机引号。在这种情况下,将编写一个SQL查询以从表中获取随机记录。在本节中,将看到如何从表中选择随机记录。

MySQL 不提供任何内置语句用于从数据库表返回随机行。可以借助 RAND()函数 完成此操作。

以下是从数据库表中选择随机记录的语法:

SELECT * FROM table_name
ORDER BY RAND()
LIMIT N;

让无涯教程详细了解该语句的参数:

  • 首先,指定了要选择随机记录的table_name 表名
  • 第二,指定了 RAND 函数,该函数为表中的每一行返回随机值。
  • 第三,指定了 ORDER BY 。此子句按RAND()函数生成的随机数对所有表行进行排序。
  • 最后,指定了 LIMIT 子句从数据库表中选择N条随机记录。

通过示例了解如何从数据库表生成随机记录。首先,将使用以下语句创建一个名为" students" 的表:

mysql> CREATE TABLE students(  
    id int NOT NULL AUTO_INCREMENT,  
    name varchar(45) NOT NULL,  
    class int NOT NULL,  
    email_id varchar(65) NOT NULL,  
    PRIMARY KEY (id)  
);

接下来,将使用 INSERT 语句将记录填充到该表中,如下所示:

INSERT INTO students (name, class, email_id)   
VALUES ('Stephen', 6, 'stephen@learnfk.com'), 
('Bob', 7, 'bob@learnfk.com'), 
('Steven', 8, 'steven@learnfk.com'), 
('Donald', 6, 'donald@learnfk.com'), 
('Jenifer', 9, 'jenifer@learnfk.com'),
('Peter', 9, 'peter@learnfk.com'),
('Alexandar', 7, 'alexandar@learnfk.com');

接下来,将使用查询显示表中的所有记录,如下所示:

mysql> SELECT * FROM students;
MySQL Select Random Records

现在,将执行以下查询以从表中选择随机记录。假设要从表格中选择五个随机记录;将查询数据如下:

mysql> SELECT id, name, email_id FROM students
ORDER BY RAND() LIMIT 5;

它返回以下输出:

MySQL Select Random Records

请注意,每当无涯教程执行RAND()函数时,它总是返回不同的结果,因为它是随机的

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

iOS开发高手课 -〔戴铭〕

Netty源码剖析与实战 -〔傅健〕

MongoDB高手课 -〔唐建法(TJ)〕

Service Mesh实战 -〔马若飞〕

罗剑锋的C++实战笔记 -〔罗剑锋〕

To B市场品牌实战课 -〔曹林〕

攻克视频技术 -〔李江〕

快手 · 音视频技术入门课 -〔刘歧〕

深入浅出可观测性 -〔翁一磊〕

好记忆不如烂笔头。留下您的足迹吧 :)