在 MySQL 中按日期排序
Preet Sanghavi
2023年1月30日
本教程旨在了解如何在 MySQL 中按日期对值进行排序。
大多数使用 MySQL 进行数据分析或数据可视化的企业和组织都需要根据日期对其用户的不同表值进行排序。使用 SORT BY
语句,我们可以在 MySQL 中有效地做到这一点。使用这个语句,我们可以以任何我们希望排列的方式排列表的值。
例如,对于基于产品的公司,如果分析师希望根据不同用户在平台上的注册日期对他们的记录进行排序,他们可以使用 ORDER BY
语句来完成此操作。
让我们试着更深入地理解这句话。
但是,在开始之前,我们创建一个虚拟数据集来使用。在这里,我们创建了一个表 student_dates
和几行。
-- create the table student_dates
CREATE TABLE student_dates(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_date date,
primary key(stu_id)
);
使用 INSERT
语句在 MySQL 的表中插入条目
上面的查询创建了一个名为 student_dates
的表。在 INSERT
语句的帮助下,让我们为一些学生添加数据。该操作可以如下进行。
-- insert rows to the table student_dates
INSERT INTO student_dates(stu_id,stu_firstName,stu_date)
VALUES(1,"Preet",STR_TO_DATE('24-May-2005', '%d-%M-%Y')),
(2,"Dhruv",STR_TO_DATE('14-June-2001', '%d-%M-%Y')),
(3,"Mathew",STR_TO_DATE('13-December-2020', '%d-%M-%Y')),
(4,"Jeet",STR_TO_DATE('14-May-2003', '%d-%M-%Y')),
(5,"Steyn",STR_TO_DATE('19-July-2002', '%d-%M-%Y'));
该代码将在表 student_dates
中输入学生数据。我们可以使用以下命令可视化该表。
SELECT * from student_dates;
代码块将生成以下输出。
stu_id stu_firstName stu_date
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
4 Jeet 2003-05-14
5 Steyn 2002-07-19
在 MySQL 中使用 SORT BY
语句对表的值进行排序
如上所述,我们可以使用 MySQL 中的 sort by
语句对值进行排序。这个逻辑也可以外推到日期。我们可以使用以下语法来做到这一点。
SELECT * from name_of_the_table
ORDER BY date_column;
正如我们在上面看到的,所有表的记录都将根据日期排序。我们现在可以将这个概念应用到我们的 student_dates
表中。
我们可以使用以下查询执行此操作。
SELECT * from student_dates
ORDER BY stu_date;
代码的输出如下所示。
stu_id stu_firstName stu_date
2 Dhruv 2001-06-14
5 Steyn 2002-07-19
4 Jeet 2003-05-14
1 Preet 2005-05-24
3 Mathew 2020-12-13
正如我们在代码块中看到的那样,所有 student_dates
表记录都根据日期进行排序。它也可以颠倒过来,这意味着我们可以调整查询,使记录按照最新记录首先显示的顺序显示。
这种技术同样有用,可以通过以下语法来理解。
SELECT * from student_dates
ORDER BY stu_date DESC;
代码块的输出可以说明如下。
stu_id stu_firstName stu_date
3 Mathew 2020-12-13
1 Preet 2005-05-24
4 Jeet 2003-05-14
5 Steyn 2002-07-19
2 Dhruv 2001-06-14
因此,借助 MySQL 中的 SORT BY
语句,我们可以有效地根据日期对特定表的记录进行排序。
作者: Preet Sanghavi