选择4周前星期一的记录



我有这个查询,从我的表中选择最近4周的记录:

SELECT * FROM activity 
  WHERE dateAdded 
  BETWEEN date_sub(now(),INTERVAL 4 WEEK) AND now()
  ORDER BY activity ASC;

但是,我想选择从4周前的星期一开始的最近4周的记录,而不管当前日期。

而且,查询似乎没有选择今天的记录。

试试这个:SELECT * FROM activity WHERE dateAdded BETWEEN date_sub(date_sub(now(), INTERVAL 4 DAY),INTERVAL 4 WEEK) AND date_sub(now(), INTERVAL 4 DAY) ORDER BY activity ASC;

算出来了

SELECT * FROM activity 
  WHERE 
  YEARWEEK(`dateAdded`, 1) = YEARWEEK(DATE_SUB(curdate(), INTERVAL 3 WEEK), 1)
  ORDER BY activity ASC;

最新更新