【问题标题】:Retrieve last two week's data from MYSQL excluding this week从 MYSQL 中检索除本周以外的最近两周的数据
【发布时间】:2011-10-21 09:16:10
【问题描述】:

我希望从 MYSQL 中检索过去两周的数据,不包括本周的数据。

例如,如果今天是周一 - 周五,查询应该返回前两周的记录。 如果今天是星期六或星期日,查询应该返回本周的记录 + 上周的记录。

进行了一些搜索,发现 YEARweek 可能有用但找不到实施方式。

【问题讨论】:

  • 按周,你是指实际的一周还是从现在起的 7 天,不管现在是哪一天?
  • 你要什么?您给出的示例并没有说明太多 - 在这两种情况下,您都说“查询应该返回前两周的记录”。您能否准确说明它应该返回哪些日期? “来自 MYSQL 的过去两周的数据不包括本周的数据”表示您确实想要前一周的数据 - 对吗?
  • 如果今天是星期六 - 查询应该返回从前一周的星期一到昨天的记录;如果今天在周一至周五之间;查询应该从前两周的数据返回。

标签: mysql date


【解决方案1】:

如果您在周六和周日没有记录。这应该可以正常工作。

where case 
when weekday(now()) between 0 and 4 then 
record_date between date_sub( date_sub(now(),INTERVAL weekday(now())+1 day),INTERVAL 2 WEEK) and  date_sub(now(),INTERVAL weekday(now())+1 day)
else
record_date between date_sub(now(),INTERVAL 2 WEEK) and  now()
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多