sql >> Databasteknik >  >> RDS >> Mysql

Databasstruktur för att hålla statistik per dag, vecka, månad, år

Istället för att uppdatera antalet per dag, vecka etc. INFOGA bara en rad i en tabell varje gång en aktivitet händer så här:

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

Nu är dina rapporter väldigt enkla som:

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

eller

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


  1. Hur Ln()-funktionen fungerar i PostgreSQL

  2. Hur du krypterar dina MySQL- och MariaDB-säkerhetskopier

  3. Hur hämtar man den första och sista posten i en grupperad post i en MySQL-fråga med aggregerade funktioner?

  4. Hur man utvärderar uttryck i select-sats i Postgres