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

Hvordan skriver man en SQL-forespørgsel, der tæller antallet af rækker pr. måned og år?

Jeg er ikke bekendt med vBulletins databasestruktur, men du bør gøre noget som dette , forudsat at din brugertabel har en dato/datotid/tidsstempel created_date eller reg_timestamp kolonne eller noget lignende ved hjælp af MySQL's ÅR() og MONTH() funktioner .

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

Dette vil resultere i noget, der ligner dette:

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

Redigering:vedrørende Daves kommentar: vBulletins dato ser ud til at være gemt i Unixtime-format. I dette tilfælde skal du blot pakke kolonnen med FROM_UNIXTIME vil konvertere den til en læsbar MySQL-dato:

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


  1. MySQL:hvordan forhindrer man indsættelse af en række med alle kolonner =NULL?

  2. PHP SUM funktion

  3. hvordan man bruger xmltable i oracle?

  4. find årsager til mysql dødvande