เพื่อดึงวันที่ล่าสุด (latest date) จากคอลัมน์ชนิด DATE หรือ DATETIME ใน MySQL สามารถใช้ ORDER BY ... DESC LIMIT 1 ได้อย่างง่ายดาย
ตัวอย่างการสร้างตาราง
mysql> create table DemoTable (
DueDate date );
Query OK, 0 rows affected (0.56 sec)
เพิ่มข้อมูลวันที่
mysql> insert into DemoTable values('2018-10-01');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2016-12-31');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-07-02');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2015-01-12');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('2019-04-26');
Query OK, 1 row affected (0.13 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from DemoTable;
+------------+ | DueDate | +------------+ | 2018-10-01 | | 2016-12-31 | | 2019-07-02 | | 2015-01-12 | | 2019-04-26 | +------------+ 5 rows in set (0.00 sec)
คำสั่งดึงวันที่ล่าสุด (สมมติวันนี้คือ 2019-08-15)
mysql> select * from DemoTable order by DueDate DESC limit 1;
ผลลัพธ์
+------------+ | DueDate | +------------+ | 2019-07-02 | +------------+ 1 row in set (0.03 sec)
คำอธิบาย: คำสั่งจะจัดเรียงวันที่จากมากไปน้อย (DESC) แล้ว取แค่แถวแรก (LIMIT 1) ซึ่งจะได้วันที่ล่าสุด หากต้องการวันที่เก่าสุด ให้เปลี่ยนเป็น ASC แทน