Mysql
 sql >> Database >  >> RDS >> Mysql

Come scrivere una query SQL che conta il numero di righe al mese e all'anno?

Non ho familiarità con la struttura del database di vBulletin, ma dovresti fare qualcosa del genere , supponendo che la tua tabella utente abbia una data/data/ora/data/ora created_date o reg_timestamp colonna o qualcosa di simile, utilizzando MySQL ANNO() e MESE() funzioni .

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

Ciò risulterà in qualcosa di simile a questo:

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

Modifica:riguardo al commento di Dave: La data di vBulletin sembra essere archiviata nel formato Unixtime. In questo caso, avvolgere semplicemente la colonna con FROM_UNIXTIME lo convertirà in una data MySQL leggibile:

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