ในการเลือกบันทึก 6 เดือนที่ผ่านมาจากตารางข่าว ให้ใช้ฟังก์ชัน date_sub() จาก MySQL เนื่องจากบันทึกข่าวจะถูกจัดเรียงตามวันที่
ไวยากรณ์มีดังนี้ −
เลือก *จาก yourTableName โดยที่ yourDateTimeColumnName>=date_sub(now(),ช่วง 6 เดือน);
เพื่อให้เข้าใจแนวคิดข้างต้น ขั้นแรกให้เราสร้างตาราง NEWS โดยมีเพียง NEWS ID และวันที่เผยแพร่ -
mysql> สร้างตาราง Newstable -> ( -> NewsId int, -> NewsDatetime datetime -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.66 วินาที)
แทรกระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่าของ Newstable (101,'2018-2-10'); ตกลง, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่าของ Newstable (102,'2018-12-10'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)mysql> แทรกลงในค่า Newstable (103,'2018-3-14'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที) mysql> แทรกลงในค่า Newstable (104,'2018-12 -12');Query OK, 1 แถวได้รับผลกระทบ (0.29 วินาที)mysql> แทรกลงในค่า Newstable (105,'2018-4-21'); Query OK, 1 แถวได้รับผลกระทบ (0.09 วินาที)mysql> แทรกลงในค่า Newstable ( 106,'2018-6-30');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.22 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก Newstable;
ผลลัพธ์
<ก่อนหน้า>+---------+---------------------+| รหัสข่าว | NewsDatetime |+---------+--------------------+| 101 | 2018-02-10 00:00:00 || 102 | 2018-12-10 00:00:00 || 103 | 2018-03-14 00:00:00 || 104 | 2018-12-12 00:00:00 || 105 | 2018-04-21 00:00:00 || 106 | 2018-06-30 00:00:00 |+-------------+---------------------+6 แถวในชุด (0.00 วินาที )ต่อไปนี้เป็นแบบสอบถามเพื่อเลือก 6 เดือนล่าสุดจากตารางใหม่ แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก Newstable โดยที่ NewsDatetime> date_sub(now(),Interval 6 month);