MySQL 如何在 MySQL 中按 ID 排序最近的 5 条记录
在进行数据库查询时,我们常常需要按照某个字段进行排序,以便获取最新、最热门等信息。本文将介绍如何在 MySQL 数据库中,通过按 ID 排序,获取最近的 5 条记录。
阅读更多:MySQL 教程
创建数据表
为了演示如何实现在 MySQL 中按 ID 排序最近的 5 条记录,我们先创建一个包含 id、title 和 create_time 三个字段的数据表 post。其中,id 为自增长主键,title 为标题,create_time 为创建时间,数据类型均为 VARCHAR。
创建 SQL 语句如下:
CREATE TABLE post (
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
create_time VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
插入测试数据
为了方便测试,我们向 post 表中插入 10 条测试数据。插入 SQL 语句如下:
INSERT INTO post (title, create_time) VALUES
('文章1', '2021-01-01 10:00:00'),
('文章2', '2021-01-02 09:00:00'),
('文章3', '2021-01-02 11:00:00'),
('文章4', '2021-01-02 13:00:00'),
('文章5', '2021-01-03 10:00:00'),
('文章6', '2021-01-03 11:00:00'),
('文章7', '2021-01-04 10:00:00'),
('文章8', '2021-01-04 11:00:00'),
('文章9', '2021-01-05 10:00:00'),
('文章10', '2021-01-05 11:00:00');
按 ID 排序最近的 5 条记录
接下来,我们就可以使用 SQL 语句来按照 ID 排序最近的 5 条记录了。SQL 语句如下:
SELECT * FROM post ORDER BY id DESC LIMIT 5;
以上 SQL 语句的含义为,在 post 表中按照 ID 从大到小排序,获取前 5 条记录。使用 LIMIT 5 关键字限制返回结果的数量。
在 MySQL 客户端执行以上 SQL 语句,会得到以下结果:
+----+---------+---------------------+
| id | title | create_time |
+----+---------+---------------------+
| 10 | 文章10 | 2021-01-05 11:00:00 |
| 9 | 文章9 | 2021-01-05 10:00:00 |
| 8 | 文章8 | 2021-01-04 11:00:00 |
| 7 | 文章7 | 2021-01-04 10:00:00 |
| 6 | 文章6 | 2021-01-03 11:00:00 |
+----+---------+---------------------+
以上结果即为按 ID 排序最近的 5 条记录。
完整 SQL 语句示例
SELECT * FROM post ORDER BY id DESC LIMIT 5;
结论
本文介绍了如何在 MySQL 中按 ID 排序最近的 5 条记录,具体的 SQL 语句为:
SELECT * FROM post ORDER BY id DESC LIMIT 5;
以上 SQL 语句的含义为,在 post 表中按照 ID 从大到小排序,获取前 5 条记录。通过本文的介绍,相信大家已经对 MySQL 中按照某个字段排序后获取最近的若干条记录有了一定了解。