1、几个小时内的数据
select * from 表名 where DATE_SUB(NOW(), INTERVAL 5 HOUR) <= 时间字段名;
2、今天
select * from 表名 where to_days(时间字段名) = to_days(now());
3、昨天
select * from 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) = 1;
4、7天内(包含今天)
select * from 表名 where TO_DAYS(NOW()) - TO_DAYS(时间字段名) < 7;
5、本周
select * from 表名 where YEARWEEK(now()) = YEARWEEK(时间字段名);
6、近30天(包含今天)
select * from 表名 where TO_DAYS(NOW()) - TO_DAYS(时间字段名) < 30;
7、本月
select * from 表名 WHERE DATE_FORMAT(时间字段名, '%Y%m') = DATE_FORMAT(NOW() , '%Y%m');
8、上一月
select * from 表名 WHERE PERIOD_DIFF(date_format(now(), '%Y%m') , date_format(时间字段名, '%Y%m')) = 1;