Để làm điều này, bạn có thể sử dụng COUNT() cùng với GROUP BY MONTH(). Để khớp với ngày hiện tại, hãy sử dụng CURRENT_DATE(). Ngày hiện tại như sau:
mysql> SELECT CURDATE(); +------------+ | CURDATE() | +------------+ | 2019-11-30 | +------------+ 1 row in set (0.00 sec)
Hãy cùng tạo một bảng trước:
mysql> CREATE TABLE DemoTable1819 (
Name VARCHAR(20),
RegisteringDate DATETIME
); Query OK, 0 rows affected (0.00 sec)
Chèn một số bản ghi vào bảng bằng lệnh INSERT:
mysql> INSERT INTO DemoTable1819 VALUES('Chris','2019-11-29 12:30:34'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1819 VALUES('David','2019-11-30 12:30:34'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1819 VALUES('Mike','2019-12-30 12:30:34'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1819 VALUES('Sam','2018-11-30 11:00:00'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1819 VALUES('Carol','2019-11-30 10:00:00'); Query OK, 1 row affected (0.00 sec)
Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:
mysql> SELECT * FROM DemoTable1819;
Kết quả sẽ như sau:
+-------+---------------------+ | Name | RegisteringDate | +-------+---------------------+ | Chris | 2019-11-29 12:30:34 | | David | 2019-11-30 12:30:34 | | Mike | 2019-12-30 12:30:34 | | Sam | 2018-11-30 11:00:00 | | Carol | 2019-11-30 10:00:00 | +-------+---------------------+ 5 rows in set (0.00 sec)
Dưới đây là truy vấn để lấy số người đăng ký vào ngày hiện tại:
mysql> SELECT COUNT(RegisteringDate) AS Output FROM DemoTable1819 WHERE DATE(RegisteringDate) = CURDATE() GROUP BY MONTH(RegisteringDate);
Kết quả sẽ như sau:
+--------+ | Output | +--------+ | 2 | +--------+ 1 row in set (0.00 sec)