【问题标题】:Selecting records from monday 4 weeks ago选择 4 周前星期一的记录
【发布时间】:2015-10-08 22:41:41
【问题描述】:

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

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

但是我想选择从 4 周前的星期一开始的最后 4 周的记录,而不考虑当天。

另外,查询似乎没有选择今天的记录。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    试试这个: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;

    【讨论】:

      【解决方案2】:

      解决了。

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

      【讨论】:

        猜你喜欢
        • 2011-10-04
        • 1970-01-01
        • 2018-02-13
        • 2011-11-15
        • 2020-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多