【问题标题】:Selecting mysql records for next week选择下周的mysql记录
【发布时间】:2015-08-15 16:01:39
【问题描述】:

我正在寻找 MySQL 查询以使用星期日 - 星期六作为一周的格式来选择下周内的日期记录。

换句话说,我不是要获取从今天开始一周的日期,而是要获取下周星期日至星期六之间的日期。

我找到了这个:MySQL Query to select data from last week?,它适用于从周日到周六的前一周,但我不知道如何调整它以获得下周的日期。

有什么想法吗?

【问题讨论】:

  • 嗨,欢迎来到 SO。如果您愿意,请考虑遵循这个简单的两步操作: 1. 如果您还没有这样做,请提供适当的 DDL(和/或 sqlfiddle),以便我们可以更轻松地复制问题。 2. 如果您尚未这样做,请提供与步骤 1 中提供的信息相对应的所需结果集。
  • 很抱歉。我提供给另一个示例的链接基本上与我想要做的想法相同,除了在示例中,他们得到前一周,而我希望得到下周(星期日 - 星期六)。

标签: mysql


【解决方案1】:
SELECT * FROM table
WHERE 
date > date_add(curdate(),INTERVAL(7-dayofweek(curdate()))DAY) 
AND date <= date_add(curdate(),INTERVAL(14- dayofweek(curdate()))DAY)

【讨论】:

  • dateofweek 不是一个函数,除此之外。
  • 你是对的,对不起语法错误,我已经更正了dev.mysql.com/doc/refman/5.5/en/…
  • 这个不适合我。您的代码中缺少一些括号,但即使我修复了它们,我仍然没有得到下周的日期
  • phillymatt 抱歉,它有语法错误,我想展示一下算法。我已经编辑了答案
【解决方案2】:

你可以使用:

SELECT *
FROM YourTable
WHERE WEEK(YourDateField, 6) = WEEK(CURRENT_DATE + INTERVAL 7 DAY, 6)

用于选择下周的记录(从星期日开始)
周数为 1 到 53,一年中的第一周至少有 4 天

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 2019-10-01
    • 2011-07-14
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多