Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ดึงวันที่ล่าสุดจากตาราง MySQL ที่เก็บข้อมูลวันที่

เพื่อดึงวันที่ล่าสุด (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 แทน