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

เลือกข้อมูลจากตาราง MySQL ตามเดือนเฉพาะ

ใช้ฟังก์ชัน MONTH() ใน MySQL เพื่อเลือกข้อมูลตามเดือนครับ

สร้างตารางตัวอย่าง

mysql> create table DemoTable (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName varchar(10),
    -> UserPostMessageDate datetime,
    -> UserLikes int
    -> );
Query OK, 0 rows affected (0.77 sec)

เพิ่มข้อมูลตัวอย่าง

mysql> insert into DemoTable(UserName, UserPostMessageDate, UserLikes) values('John', '2019-01-31', 4560);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(UserName, UserPostMessageDate, UserLikes) values('Sam', '2019-06-28', 790);
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable(UserName, UserPostMessageDate, UserLikes) values('Carol', '2019-05-01', 230);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(UserName, UserPostMessageDate, UserLikes) values('David', '2019-03-05', 10000000);
Query OK, 1 row affected (0.33 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;

ผลลัพธ์

+----+----------+---------------------+-----------+
| Id | UserName | UserPostMessageDate | UserLikes |
+----+----------+---------------------+-----------+
| 1  | John     | 2019-01-31 00:00:00 | 4560      |
| 2  | Sam      | 2019-06-28 00:00:00 | 790       |
| 3  | Carol    | 2019-05-01 00:00:00 | 230       |
| 4  | David    | 2019-03-05 00:00:00 | 10000000  |
+----+----------+---------------------+-----------+
4 rows in set (0.00 sec)

คำสั่งเลือกข้อมูลตามเดือนเฉพาะ (เดือนมิถุนายน = 6)

mysql> select Id, UserName, UserLikes from DemoTable where MONTH(UserPostMessageDate) = 6;

ผลลัพธ์

+----+----------+-----------+
| Id | UserName | UserLikes |
+----+----------+-----------+
| 2  | Sam      | 790       |
+----+----------+-----------+
1 row in set (0.00 sec)

คำอธิบาย: MONTH() ดึงส่วนเดือนจาก datetime/date แล้วเปรียบเทียบกับตัวเลข 1-12