user1783933 user1783933 - 1 year ago 75
SQL Question

Returning records from the last 3 months only in MySQL

I have a table with a timestamp field. How do I get data from the last 3 months?

In particular, March is my current month (03/2012). I need to return records from the months March, February, and January only.

Answer Source

3 months before today:

select * from table where timestamp >= now()-interval 3 month;

Start with first of month:

select * from table where timestamp >= last_day(now()) + interval 1 day - interval 3 month;