sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo escribir una consulta SQL que cuente la cantidad de filas por mes y año?

No estoy familiarizado con la estructura de la base de datos de vBulletin, pero deberías hacer algo como esto , asumiendo que su tabla de usuario tiene una fecha/fechahora/marca de tiempo created_date o reg_timestamp columna o algo similar, usando MySQL AÑO() y MES() funciones .

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

Esto resultará en algo similar a esto:

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

Editar:con respecto al comentario de Dave: La fecha de vBulletin parece estar almacenada en formato Unixtime. En este caso, simplemente envuelva la columna con FROM_UNIXTIME lo convertirá en una fecha MySQL legible:

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