需要注意点的是,MySql查询某区间日期时是按照00:00:00来的,也就是如果查询4月1号到4月4号的数据,后面要写成xxxx-04-05
查询往前7天的数据:
select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= 你要判断的时间字段名
查询往前30天的数据:
select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= 你要判断的时间字段名
查询在某段日期之间的数据:
select * from 数据表 where 时间字段名 BETWEEN '2016-02-01' AND '2016-02-05'
查询往前3个月的数据:
select * from 数据表 where 时间字段名 BETWEEN DATE_SUB(NOW(),INTERVAL 3 MONTH) AND NOW()
查询往前一年的数据:
select * from 数据表 where 时间字段名 BETWEEN DATE_SUB(NOW(),INTERVAL 1 YEAR) AND NOW()
查询本月的数据
select * from 数据表 where DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(NOW(),'%Y-%m')
查询上月的数据
select * from 数据表 where DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH),'%Y-%m')
查询本周的数据
select * from 数据表 where YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d')) = YEARWEEK(NOW())
查询上周数据
select * from 数据表 where YEARWEEK(DATE_FORMAT(CREATE_TIME,'%Y-%m-%d')) = YEARWEEK(NOW())-1
转载:https://www.cnblogs.com/zknublx/p/7675563.html