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

ค้นหาข้อมูลตามเดือนและปีด้วยเงื่อนไข OR ใน MySQL

ใช้ WHERE พร้อมเงื่อนไข OR เพื่อกรองข้อมูลตามเดือนและปีหลายช่วง

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

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    MonthNumber INT,
    YearNumber INT
);
mysql> INSERT INTO DemoTable(MonthNumber, YearNumber) VALUES
    (11, 2018), (3, 2019), (12, 2018), (1, 2019), (12, 2019), (6, 2018);

ดูข้อมูล

mysql> SELECT * FROM DemoTable;
+----+-------------+------------+
| Id | MonthNumber | YearNumber |
+----+-------------+------------+
|  1 |          11 |       2018 |
|  2 |           3 |       2019 |
|  3 |          12 |       2018 |
|  4 |           1 |       2019 |
|  5 |          12 |       2019 |
|  6 |           6 |       2018 |
+----+-------------+------------+

ค้นหา: (เดือน >= 11 และ ปี 2019) OR (เดือน <= 11 และ ปี 2018)

mysql> SELECT Id, MonthNumber, YearNumber FROM DemoTable
    -> WHERE (MonthNumber >= 11 AND YearNumber = 2019)
    ->    OR (MonthNumber <= 11 AND YearNumber = 2018);

ผลลัพธ์

+----+-------------+------------+
| Id | MonthNumber | YearNumber |
+----+-------------+------------+
|  1 |          11 |       2018 |
|  5 |          12 |       2019 |
|  6 |           6 |       2018 |
+----+-------------+------------+

คำอธิบาย:

  • แถว 1: เดือน 11 ≤ 11 และ ปี 2018 ✓
  • แถว 5: เดือน 12 ≥ 11 และ ปี 2019 ✓
  • แถว 6: เดือน 6 ≤ 11 และ ปี 2018 ✓