ใช้ ORDER BY หลายคอลัมน์ มาสร้างตาราง:
mysql> create table OrderByDateThenTimeDemo ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate date, ShippingTime time ); Query OK, 0 rows affected (0.56 sec)
แทรกข้อมูล (มีวันที่ซ้ำ 2018-01-24 แต่เวลาต่างกัน):
mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2018-01-24','16:45:40'); Query OK, 1 row affected (0.13 sec) mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2018-01-24','15:30:35'); Query OK, 1 row affected (0.22 sec) mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2018-04-25','14:20:25'); Query OK, 1 row affected (0.24 sec) mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2019-02-14','18:07:55'); Query OK, 1 row affected (0.13 sec) mysql> insert into OrderByDateThenTimeDemo(ShippingDate,ShippingTime) values('2019-01-31','20:20:30'); Query OK, 1 row affected (0.26 sec)แสดงข้อมูล:
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;
ผลลัพธ์
+----+--------------+--------------+ | 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)
วันที่ 2018-01-24 ถูกเรียงเวลาจากน้อยไปมาก (15:30:35 ก่อน 16:45:40)