mysql5.7查询今天、昨天、本周、上周、本月、上月数据
--今天 SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(now()); --昨天 SELECT * FROM 表名 WHERE TO_DAYS(now( )) - TO_DAYS( 时间字段名) = 1; --本周 SELECT * FROM 表名 WHERE YEARWEEK( DATE_FORMAT(时间字段名,'%Y-%m-%d') ) = YEARWEEK(now()) ; --本月 SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m') = DATE_FORMAT( CURDATE( ) ,'%Y%m' ) --上一个月 SELECT * FROM 表名 WHERE PERIOD_DIFF(DATE_FORMAT(now(),'%Y%m'),DATE_FORMAT(时间字段名,'%Y%m') =1; --本年 SELECT * FROM 表名 WHERE YEAR( 时间字段名) = YEAR(now( )); --上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( DATE_FORMAT( now( ) , '%Y%m' ) , DATE_FORMAT( 时间字段名, '%Y%m' ) ) =1; --本季度 SELECT * FROM 表名 WHERE QUARTER(时间字段名)=QUARTER(now()); --上季度 SELECT * FROM 表名 WHERE QUARTER(时间字段名)=QUARTER(DATE_SUB(now(),interval 1 QUARTER)); --本年 SELECT * FROM 表名 WHERE YEAR(时间字段名)=YEAR(now()); --上年数据 SELECT * FROM 表名 WHERE YEAR(时间字段名)=YEAR(DATE_SUB(now(),interval 1 year)); --查询当前这周的数据 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d')) = YEARWEEK(now()); --查询上周的数据 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d')) = YEARWEEK(now())-1; --查询当前月份的数据 SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(now(),'%Y-%m'); --查询距离当前现在6个月的数据 SELECT * FROM 表名 WHERE 时间字段名 between DATE_SUB(now(),interval 6 month) and now(); --查询上个月的数据 SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m'); SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, ' %Y%m ' ) = DATE_FORMAT(CURDATE(), ' %Y%m ' ); SELECT * FROM 表名 WHERE WEEKOFYEAR(FROM_UNIXTIME(时间字段名,'%y-%m-%d')) = WEEKOFYEAR(now());