我试图获取最近2个月和3个月的数据。
例如,过去2个月的数据表示2014年12月至2015年1月,3个月表示2014年11月至2015年1月 我试过了
SELECT * FROM d_jobs WHERE `job_date` >= DATE_ADD( NOW( ) , INTERVAL -1 MONTH )
此处仅计算过去30天的数据。
那么执行此操作的最佳方式是哪种?
答案 0 :(得分:0)
试试这个:
SELECT * FROM d_jobs WHERE `job_date` >= last_day(now()) + interval 1 day - interval 3 month;
答案 1 :(得分:0)
尝试使用此查询希望您能克服我的想法
select * from d_jobs where job_date < Now() and job_date > DATE_ADD(Now(), INTERVAL- 3 MONTH);
select * from d_jobs where job_date BETWEEN SUBDATE(CURDATE(), INTERVAL 3 MONTH) AND NOW();
select * from d_jobs WHERE job_date BETWEEN STR_TO_DATE('2012-09-01', '%Y-%m-%d') AND NOW();
答案 2 :(得分:-1)
以ISO格式留下7个当前日期的字符(即&#39; 2015-01&#39;)。然后添加&#34; -01&#34;每月的第一天(结果是&#34; 2015-01-01&#34;)。然后使用INTERVAL ... MONTH
来获取最后几个月。