หากต้องการลบบันทึกล่าสุด (ตามเงื่อนไข) ออกจากตาราง คุณต้องใช้ ORDER BY DESC กับ LIMIT
1. ไวยากรณ์มีดังนี้:
ลบจาก yourTableName โดยที่ yourColumnName1=yourValue ORDER BY yourColumnName2 DESC LIMIT 1;
ไวยากรณ์ด้านบนจะลบบันทึกล่าสุด (ตามเงื่อนไข) ออกจากตาราง โดยจะเรียงลำดับคอลัมน์จากมากไปหาน้อยและเลือกองค์ประกอบแรกที่จะลบ
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:
mysql> สร้างตาราง UserLoginTable -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> UserId int, -> UserLoginDateTime datetime, -> PRIMARY KEY(Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.94 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:
mysql> แทรกลงใน UserLoginTable(UserId,UserLoginDateTime) ค่า(2,'2019-01-27 13:47:20');ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงใน UserLoginTable(UserId,UserLoginDateTime ) ค่า (1,'2018-11-28 12:30:12'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงใน UserLoginTable (UserId, UserLoginDateTime) ค่า (2,'2019-01-26 11 :30:30');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงใน UserLoginTable(UserId,UserLoginDateTime) ค่า (1,'2015-03-11 15:23:55'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงใน UserLoginTable (UserId, UserLoginDateTime) ค่า (2,'2019-03-21 16:01:56'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:
mysql> เลือก *จาก UserLoginTable;
ต่อไปนี้เป็นผลลัพธ์:
<ก่อนหน้า>+----+---------+---------------------+| รหัส | รหัสผู้ใช้ | UserLoginDateTime |+----+--------+---------------------+| 1 | 2 | 2019-01-27 13:47:20 || 2 | 1 | 2018-11-28 12:30:12 || 3 | 2 | 2019-01-26 11:30:30 || 4 | 1 | 2015-03-11 15:23:55 || 5 | 2 | 2019-03-21 16:01:56 |+----+--------+---------------------+5 แถว ในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อลบบันทึกล่าสุด (ตามเงื่อนไข) จากตาราง:
mysql> ลบออกจาก UserLoginTable โดยที่ UserId=2 ORDER BY UserLoginDateTime DESC LIMIT 1; Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)
ตรวจสอบระเบียนตารางอีกครั้งโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:
mysql> เลือก *จาก UserLoginTable;
ต่อไปนี้เป็นผลลัพธ์:
<ก่อนหน้า>+----+---------+---------------------+| รหัส | รหัสผู้ใช้ | UserLoginDateTime |+----+--------+---------------------+| 1 | 2 | 2019-01-27 13:47:20 || 2 | 1 | 2018-11-28 12:30:12 || 3 | 2 | 2019-01-26 11:30:30 || 4 | 1 | 2015-03-11 15:23:55 |+----+--------+---------------------+4 แถว ในชุด (0.00 วินาที)บันทึกล่าสุดถูกลบออกจากตารางที่มี UserId 2