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

Estructura de la base de datos para almacenar estadísticas por día, semana, mes, año

En lugar de actualizar los recuentos por día, semana, etc., simplemente INSERTAR una fila en una tabla cada vez que ocurra una actividad como esta:

insert into activities (activity_date, activity_info) 
values (CURRENT_TIMESTAMP, 'whatever');

Ahora sus informes son muy simples como:

select count(*) from activities
where activity_date between '2008-01-01' and '2008-01-07';

o

select YEARWEEK(`activity_date`) as theweek, count(*)
group by theweek