ใช้ DATE_SUB() และ NOW() เพื่อดึงแถวที่เพิ่มในชั่วโมงล่าสุด
Syntax
SELECT * FROM yourTableName
WHERE yourDateTimeColumn <= DATE_SUB(NOW(), INTERVAL 1 HOUR);
ตัวอย่างสร้างตารางและข้อมูล
mysql> CREATE TABLE LastHourRecords (Id INT, Name VARCHAR(100), Login DATETIME);
mysql> INSERT INTO LastHourRecords VALUES
-> (1, 'John', '2018-12-19 10:00:00'),
-> (2, 'Carol', '2018-12-19 10:10:00'),
-> (3, 'Sam', '2018-12-19 10:05:00'),
-> (4, 'Mike', '2018-12-18 12:10:00');
ข้อมูลทั้งหมด
+------+-------+---------------------+
| Id | Name | Login |
+------+-------+---------------------+
| 1 | John | 2018-12-19 10:00:00 |
| 2 | Carol | 2018-12-19 10:10:00 |
| 3 | Sam | 2018-12-19 10:05:00 |
| 4 | Mike | 2018-12-18 12:10:00 |
+------+-------+---------------------+
Query: ดึงข้อมูลชั่วโมงล่าสุด
mysql> SELECT * FROM LastHourRecords
-> WHERE Login <= DATE_SUB(NOW(), INTERVAL 1 HOUR);
ผลลัพธ์ (3 แถว ไม่รวม Mike ที่เป็นวันก่อน)
+------+-------+---------------------+
| Id | Name | Login |
+------+-------+---------------------+
| 1 | John | 2018-12-19 10:00:00 |
| 2 | Carol | 2018-12-19 10:10:00 |
| 3 | Sam | 2018-12-19 10:05:00 |
+------+-------+---------------------+