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

จะค้นหาวันที่ล่าสุดจากบันทึกที่มีค่าวันที่ใน MySQL ได้อย่างไร


หากต้องการรับวันที่ล่าสุด เช่น ล่าสุด ให้ใช้ฟังก์ชันการรวม MAX() กับข้อความค้นหาย่อย ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, ExpiryDate date); เคียวรีตกลง 0 แถวได้รับผลกระทบ (1.40 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(ExpiryDate) ('2018-12-31'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable (ExpiryDate) ('2019-09-01');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable (หมดอายุ) ('2019-09-01'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงในค่า DemoTable (หมดอายุ) ( '2016-08-30'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (หมดอายุ) ('2019-06-23'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที) 

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-----------+| รหัส | ExpiryDate |+----+-----------+| 1 | 2018-12-31 || 2 | 2019-09-01 || 3 | 2019-09-01 || 4 | 2016-08-30 || 5 | 2019-06-23 |+----+------------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาบันทึกที่มีวันที่ล่าสุด -

mysql> เลือก *จาก DemoTable โดยที่ ExpiryDate=(select max(ExpiryDate) จาก DemoTable);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ จากบันทึกที่แทรก วันสุดท้ายคือ 2019-09-0 เช่นเดียวกันสามารถเห็นได้ในผลลัพธ์ด้านล่าง -

<ก่อนหน้า>+----+-----------+| รหัส | ExpiryDate |+----+-----------+| 2 | 2019-09-01 || 3 | 2019-09-01 |+----+-----------+2 แถวในชุด (0.00 วินาที)