我有以下功能,从当前日期提取上个月网站的统计数据。我需要在下面的代码中进行更改,以使其能够获取统计数据,例如从2015年11月1日到现在每月一次,其余时间间隔(3米,6米和1年)相同。
protected function duration($params) {
if($params->get('stats_duration')=='last_month') {
return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 1 MONTH)';
} elseif($params->get('stats_duration')=='three_months') {
return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 3 MONTH)';
} elseif($params->get('stats_duration')=='six_months') {
return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 6 MONTH)';
} elseif($params->get('stats_duration')=='twelve_months') {
return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 1 YEAR)';
} elseif($params->get('stats_duration')=='all') {
return '';
}
}
答案 0 :(得分:0)
假设使用MySQL。
对于当月,您可以使用以下条件:
AND datum_ura >= DATE_FORMAT(NOW(), '%Y-%m-01')
过去3个月,只需将其扩展为:
AND datum_ura >= DATE_FORMAT(NOW() - INTERVAL 2 MONTH, '%Y-%m-01')