如何在MySQL中按日期和时间排序?

您需要为此使用ORDER BY子句。让我们首先创建一个表。创建表的查询如下

mysql> create table OrderByDateThenTimeDemo
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,  
   - > ShippingDate date,
   - > ShippingTime time
   - > );

现在,您可以使用insert命令在表中插入一些记录。在这里,我们有两个相似的日期,但时间不同,即2018-01-24

mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2018-01-24','16:45:40');
mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2018-01-24','15:30:35');
mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2018-04-25','14:20:25');
mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2019-02-14','18:07:55');
mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2019-01-31','20:20:30');

使用select语句显示表中的所有记录。

查询如下

mysql> select *from OrderByDateThenTimeDemo;

以下是输出

+----+--------------+--------------+
| Id | ShippingDate | ShippingTime |
+----+--------------+--------------+
|  1 | 2018-01-24   | 16:45:40     |
|  2 | 2018-01-24   | 15:30:35     |
|  3 | 2018-04-25   | 14:20:25     |
|  4 | 2019-02-14   | 18:07:55     |
|  5 | 2019-01-31   | 20:20:30     |
+----+--------------+--------------+
5 rows in set (0.00 sec)

这是按日期和时间排序的查询。将对日期进行排序,然后再对时间(即具有相似日期的时间)进行排序。

mysql> select *from OrderByDateThenTimeDemo order by ShippingDate,ShippingTime;

以下是显示订购日期和时间的输出。例如,对于日期2018-01-24,我们有两个时间值。使用上面的查询,我们也成功地订购了时间,即15:30:35和16:45:40

+----+--------------+--------------+
| Id | ShippingDate | ShippingTime |
+----+--------------+--------------+
|  2 | 2018-01-24   | 15:30:35     |
|  1 | 2018-01-24   | 16:45:40     |
|  3 | 2018-04-25   | 14:20:25     |
|  5 | 2019-01-31   | 20:20:30     |
|  4 | 2019-02-14   | 18:07:55     |
+----+--------------+--------------+
5 rows in set (0.00 sec)