Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak napisać zapytanie SQL zliczające liczbę wierszy na miesiąc i rok?

Nie znam struktury bazy danych vBulletin, ale powinieneś zrobić coś takiego , zakładając, że tabela użytkownika ma datę/datę/godzinę/znacznik czasu created_date lub reg_timestamp kolumna lub coś podobnego, używając MySQL ROK() i MONTH() funkcje .

select 
    count(*) as count, 
    year(reg_timestamp) as year 
    month(reg_timestamp) as month
from users 
group by year, month;

Spowoduje to powstanie czegoś podobnego do tego:

+-------+-------+------+
| count | month | year |
+-------+-------+------+
|     4 |    11 | 2008 | 
|     1 |    12 | 2008 | 
|   196 |    12 | 2009 | 
|   651 |     1 | 2010 | 
+-------+-------+------+

Edytuj:w odniesieniu do komentarza Dave'a: Data vBulletin wydaje się być przechowywana w formacie Unixtime. W takim przypadku wystarczy zawinąć kolumnę za pomocą FROM_UNIXTIME przekonwertuje go na czytelną datę MySQL:

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. użycie CASE w klauzuli WHERE

  2. Dlaczego MySQL pozwala zaktualizować kolumnę NOT NULL na NULL?

  3. Ktoś włamał się do mojej bazy danych - jak?

  4. Obsługa przygotowanych wyciągów po stronie serwera z PDO?

  5. Kiedy używać silnika przechowywania CSV dla MySQL?