Search code examples
mysqlsqldatedatetimegroup-by

MySQL Query GROUP BY day / month / year


Is it possible to make a simple query to count how many records I have in a determined period of time like a year, month, or day, having a TIMESTAMP field, like:

SELECT COUNT(id)
FROM stats
WHERE record_date.YEAR = 2009
GROUP BY record_date.YEAR

Or even:

SELECT COUNT(id)
FROM stats
GROUP BY record_date.YEAR, record_date.MONTH

To have a monthly statistic.

Thanks!


Solution

  • GROUP BY YEAR(record_date), MONTH(record_date)
    

    Check out the date and time functions in MySQL.