在 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