如何从 mysql 获取上周、当前周和上个月的记录

How can i get last week, current week and last month record from mysql

我在 codeigniter 中以 strtotime 格式存储日期。周从星期日开始。

$this->db->where($this->weight . '.create_date <=', 'curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY');
$this->db->where($this->weight . '.create_date >', 'curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAY');

上周参加:

WHERE date BETWEEN date_sub(now(),INTERVAL 1 WEEK) and now();

占用本周:

WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)

上个月服用:

year(date(FROM_UNIXTIME(u.create))) = year(CURDATE() - INTERVAL 1 MONTH)
and month(date(FROM_UNIXTIME(u.create))) = month(CURDATE() - INTERVAL 1 MONTH)