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

คิวรี่ MySQL ดึงข้อมูลย้อนหลัง 8 เดือนจากวันที่ปัจจุบัน

การใช้ INTERVAL ร่วมกับ CURRENT_DATE() สำหรับการกรองข้อมูลตามช่วงเวลา

เพื่อดึงข้อมูลที่มีวันที่อยู่ในช่วง 8 เดือนย้อนหลังจากวันนี้ ใช้เงื่อนไข WHERE ร่วมกับ INTERVAL 8 MONTH:

SELECT * FROM yourTableName 
WHERE yourColumnName >= (CURRENT_DATE() - INTERVAL 8 MONTH);

ตัวอย่างสมบูรณ์

สมมติว่าวันนี้คือ 2018-02-06

สร้างตารางและเพิ่มข้อมูลตัวอย่าง:

mysql> CREATE TABLE DemoTable (
    StudentName VARCHAR(100),
    AdmissionDate DATE
);
Query OK, 0 rows affected (0.75 sec)

mysql> INSERT INTO DemoTable VALUES 
    ('John', '2019-01-21'),
    ('Chris', '2019-10-04'),
    ('Robert', '2018-02-01'),
    ('David', '2019-07-07');
Query OK, 4 rows affected

ข้อมูลทั้งหมดในตาราง:

mysql> SELECT * FROM DemoTable;
+-------------+---------------+
| StudentName | AdmissionDate |
+-------------+---------------+
| John        | 2019-01-21    |
| Chris       | 2019-10-04    |
| Robert      | 2018-02-01    |
| David       | 2019-07-07    |
+-------------+---------------+
4 rows in set (0.00 sec)

คิวรี่ดึงข้อมูล 8 เดือนย้อนหลัง (จากวันที่ 2018-02-06 จะได้ช่วง 2017-06-06 ถึง 2018-02-06):

mysql> SELECT * FROM DemoTable 
WHERE AdmissionDate >= (CURRENT_DATE() - INTERVAL 8 MONTH);
+-------------+---------------+
| StudentName | AdmissionDate |
+-------------+---------------+
| John        | 2019-01-21    |
| Chris       | 2019-10-04    |
| David       | 2019-07-07    |
+-------------+---------------+
3 rows in set (0.00 sec)

ผลลัพธ์: Robert (2018-02-01) ถูกตัดออกเพราะเก่ากว่า 8 เดือน

การปรับเปลี่ยนช่วงเวลา

สามารถเปลี่ยนช่วงเวลาได้ตามต้องการ:

  • INTERVAL 6 MONTH - 6 เดือน
  • INTERVAL 1 YEAR - 1 ปี
  • INTERVAL 30 DAY - 30 วัน