Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để viết một truy vấn SQL đếm số hàng mỗi tháng và năm?

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 () 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. vòng lặp while mysql_fetch_array. Làm thế nào nó hoạt động?

  2. Tôi có thể tải xuống jar mysql jdbc từ đâu?

  3. Kết quả SQL MIN và MAX có thêm toán tử DISTINCT trong MySQL

  4. MySQL sao chép một người dùng

  5. Sử dụng sai chỉ mục không gian / toàn văn bản / băm và thứ tự chỉ mục rõ ràng trên MySQL 8.0.11