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

MySQL: ดึงข้อมูลที่เพิ่มในชั่วโมงล่าสุด ด้วย DATE_SUB() และ NOW()


ใช้ 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 |
+------+-------+---------------------+