คุณสามารถใช้ฟังก์ชัน date-sub() และ now() จาก MySQL เพื่อดึงข้อมูลแถวที่เพิ่มในชั่วโมงที่แล้ว
ไวยากรณ์
ไวยากรณ์มีดังนี้ −
เลือก *จาก yourTableNamewhere yourDateTimeColumnName <=date_sub(now(),ช่วง 1 ชั่วโมง);
แบบสอบถามข้างต้นให้ผลลัพธ์ที่เพิ่มในชั่วโมงที่แล้ว เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง LastHourRecords-> (-> Id int,-> ชื่อ varchar(100),-> วันที่เข้าสู่ระบบ-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.67 วินาที)
แทรกบันทึกในรูปแบบของวันที่และเวลาโดยใช้คำสั่งแทรก แบบสอบถามที่จะแทรกบันทึกมีดังนี้ -
mysql> แทรกลงในค่า LastHourRecords (1,'John',' 2018-12-19 10:00:00 '); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า LastHourRecords (2,' Carol','2018-12-19 10:10:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)mysql> แทรกลงในค่า LastHourRecords (3,'Sam','2018-12-19 10:05:00');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า LastHourRecords (4,'Mike','2018-12-18 12:10:00'); แบบสอบถามตกลงได้รับผลกระทบ 1 แถว (0.10 วินาที )
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังต่อไปนี้ −
mysql> เลือก *จาก LastHourRecords;
ผลลัพธ์
<ก่อนหน้า>+------+-------+---------------------+| รหัส | ชื่อ | เข้าสู่ระบบ |+------+-------+--------------------+| 1 | จอห์น | 2018-12-19 10:00:00 || 2 | แครอล | 2018-12-19 10:10:00 || 3 | แซม | 2018-12-19 10:05:00 || 4 | ไมค์ | 2018-12-18 12:10:00 |+------+-------+---------------------+4 แถวในชุด (0.00 วินาที)ให้เราดูแบบสอบถามเพื่อดึงแถวที่เพิ่มในชั่วโมงที่ผ่านมา -
mysql> เลือก *จาก LastHourRecords-> โดยที่การเข้าสู่ระบบ <=Date_sub(now(), ช่วง 1 ชั่วโมง);