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

กำลังดึงแถวที่เพิ่มในชั่วโมงที่แล้วด้วย MySQL หรือไม่


คุณสามารถใช้ฟังก์ชัน 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 ชั่วโมง);

ผลลัพธ์

<ก่อนหน้า>+------+-------+---------------------+| รหัส | ชื่อ | เข้าสู่ระบบ |+------+-------+--------------------+| 1 | จอห์น | 2018-12-19 10:00:00 || 2 | แครอล | 2018-12-19 10:10:00 || 3 | แซม | 2018-12-19 10:05:00 |+------+-------+---------------------+3 แถวในชุด (0.00 วินาที)