Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como escrever uma consulta SQL que conta o número de linhas por mês e ano?


Não estou familiarizado com a estrutura de banco de dados do vBulletin, mas você deve fazer algo assim , supondo que sua tabela de usuário tenha uma data/datahora/timestamp created_date ou reg_timestamp coluna ou algo semelhante, usando MySQL ANO() e MONTH() funções .
select 
    count(*) as count, 
    year(reg_timestamp) as year 
    month(reg_timestamp) as month
from users 
group by year, month;

Isso resultará em algo semelhante a isso:
+-------+-------+------+
| count | month | year |
+-------+-------+------+
|     4 |    11 | 2008 | 
|     1 |    12 | 2008 | 
|   196 |    12 | 2009 | 
|   651 |     1 | 2010 | 
+-------+-------+------+

Editar:sobre o comentário de Dave: A data do vBulletin parece estar armazenada no formato Unixtime. Nesse caso, basta envolver a coluna com FROM_UNIXTIME irá convertê-lo para uma data legível do 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;