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());
  

  

posted @ 2020-03-18 14:10  孤独二世  阅读(538)  评论(0编辑  收藏  举报