正好自己的运维自动化系统用到查询mysql根据日期列查询如当天、昨天、上个月、当月、当年、去年的需求,特写在此,希望可以帮助到大家
1、当天查询方法
select FORMAT(SUM(sp_je),0) AS 'dt' from shop where TO_DAYS(sp_time)=TO_DAYS(CURRENT_DATE());
其中sp_time就是你自己数据库表字段中datetime类型的字段,大家视自己的更改即可,sp_je就是我这里表示金额的字段,dt随便定义即可,以下不在做说明,都是这样的范例
2、昨天查询
select FORMAT(SUM(sp_je),0) AS 'dt' from shop where to_days(now())-to_days(sp_time) =1;
3、当月查询
select FORMAT(SUM(sp_je),0) AS 'dt' from shop where date_format(curdate(),'%y%m') = date_format(sp_time,'%y%m');
4、上个月查询
select FORMAT(SUM(sp_je),0) AS 'dt' from shop where period_diff(date_format(now(),'%Y%m'),date_format(sp_time,'%Y%m'))=1;
5、今年查询
select FORMAT(SUM(sp_je),0) AS 'dt' from shop where year(sp_time) = year(now());
6、去年查询
select FORMAT(SUM(sp_je),0) AS 'dt' from shop where year(sp_time) = year(date_sub(now(),interval 1 year));
以上是当天、昨天、上个月、当月、当年、去年在mysql查询语法,希望可以帮助大家解决问题!