3 meses antes de hoje:
select * from table where timestamp >= now()-interval 3 month;
Comece com o primeiro do mês:
select * from table where timestamp >= last_day(now()) + interval 1 day - interval 3 month;
select * from table where timestamp >= now()-interval 3 month;
select * from table where timestamp >= last_day(now()) + interval 1 day - interval 3 month;