เมื่อต้องการดึงข้อมูลที่มี Timestamp ใหม่กว่าช่วงเวลาย้อนหลัง N นาที (หรือ N ชั่วโมง/วัน) ให้ใช้ DATE_SUB(NOW(), INTERVAL N MINUTE) ในเงื่อนไข WHERE
ตัวอย่างการใช้งาน
สร้างตารางเก็บเวลาเข้า:
mysql> create table DemoTable1335 (ArrivalTime datetime);
mysql> insert into DemoTable1335 values('2019-09-19 22:54:00'),('2019-09-19 22:59:00'),('2019-09-19 22:56:00'),('2019-09-19 22:52:00');
ข้อมูลทั้งหมด:
+---------------------+ | ArrivalTime | +---------------------+ | 2019-09-19 22:54:00 | | 2019-09-19 22:59:00 | | 2019-09-19 22:56:00 | | 2019-09-19 22:52:00 | +---------------------+
เวลาปัจจุบัน (สมมติ):
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2019-09-19 22:55:53 | +---------------------+
คำสั่งดึงข้อมูล 2 นาทีล่าสุด (หลัง 22:53:53)
mysql> select * from DemoTable1335 where ArrivalTime > date_sub(now(), interval 2 minute);
ผลลัพธ์ (ได้ 22:56 และ 22:59)
+---------------------+ | ArrivalTime | +---------------------+ | 2019-09-19 22:59:00 | | 2019-09-19 22:56:00 | +---------------------+
รูปแบบ INTERVAL ที่ใช้บ่อย:
INTERVAL 1 MINUTE,INTERVAL 1 HOUR,INTERVAL 1 DAY,INTERVAL 1 WEEK,INTERVAL 1 MONTH,INTERVAL 1 YEAR- รวมได้:
INTERVAL 1 DAY 2 HOUR - ใช้
DATE_ADD()สำหรับบวกเวลา,DATE_SUB()สำหรับลบเวลา