Tôi không quen với cấu trúc cơ sở dữ liệu của vBulletin, nhưng bạn nên làm điều gì đó như thế này , giả sử bảng người dùng của bạn có ngày / datetime / timestamp created_date
hoặc reg_timestamp
hoặc một cái gì đó tương tự, sử dụng MySQL's YEAR ()
và MONTH () chức năng .
select
count(*) as count,
year(reg_timestamp) as year
month(reg_timestamp) as month
from users
group by year, month;
Điều này sẽ dẫn đến một cái gì đó tương tự như sau:
+-------+-------+------+
| count | month | year |
+-------+-------+------+
| 4 | 11 | 2008 |
| 1 | 12 | 2008 |
| 196 | 12 | 2009 |
| 651 | 1 | 2010 |
+-------+-------+------+
Chỉnh sửa:liên quan đến nhận xét của Dave: Ngày của vBulletin dường như được lưu trữ ở định dạng Unixtime. Trong trường hợp này, chỉ cần bao bọc cột bằng FROM_UNIXTIME
sẽ chuyển đổi nó thành một ngày MySQL có thể đọc được:
select
count(*) as count,
year(from_unixtime(reg_timestamp)) as year
month(from_unixtime(reg_timestamp)) as month
from users
group by year, month;