MySQL关于根据日期查询数据的sql语句

 
查询在某段日期之间的数据:

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

查询往前7天的数据:

select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= 你要判断的时间字段名

查询往前30天的数据:

select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= 你要判断的时间字段名

根据国人习惯 周一为一周的第一天习惯算一周的数据

SELECT * FROM t_browse_statistics WHERE YEARWEEK(date_format(brows_date,'%Y-%m-%d'),1) = YEARWEEK(now())+1
ORDER BY brows_date DESC

posted on 2019-12-20 13:39  吉格斯  阅读(3477)  评论(0编辑  收藏  举报

导航