MySQL 选择日期范围,但也可以选择日期范围

标签 mysql dateadd

我的数据库由条目组(按用户)组成,一周中的每一天都有一行,还有一年中每周只有 1 行的条目组。本周可能从周六、周日或周一开始。
sql 按用户 ID 对所有这些行进行分组,并且对于用户每天都有一行的条目运行良好
我遇到的问题是选择每周只有一个条目的用户行
基本上,如果行日期是 2012 年 2 月 11 日,那么如果开始日期条件落在该日期或下一周内,并且直到但不包括日期列为 的行,我需要能够选择该行结束日期之后
我正在尝试 sql 中的 dateadd 等所有操作,但我只是无法让它添加这些行。
希望我已经说清楚了。

假设我在数据库中有两个条目
2013-02-02
2013-02-09

我的开始日期为 2013-02-05,结束日期为 2012-02-13
我需要将这两行获取为:
开始日期为 2013 年 2 月 2 日当周或以内
我还需要 2013-02-09,因为结束日期是该日期的一周或该日期的一周内。
希望这能让它更清楚一点。

最佳答案

不确定您的问题到底要问什么。

如果您的字段是 mysql 日期或日期时间类型,并且您想查找给定周是否有条目,您不能使用 MySQL WEEK Function要查找给定周的所有条目,您可能还需要包含对 YEAR 的限制。

您也可以包括下一周,但您可能会遇到问题。主要问题是 2012 年第 52+1 周不会给出 2013 年第 1 周,而是 2012 年第 1 周。

关于MySQL 选择日期范围,但也可以选择日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14762394/

相关文章:

mysql - 无法在使用 Laravel 迁移创建的 PHPMyAdmin 中看到外键

sql - MySql 查询同一张表以收集最新和年初至今的信息

2018年MYSQL日期计算

mysql - 如何优化此查询,因为由于大 "IN"子句而导致此 strted 挂起

mysql - 表格中仅允许一行带有 "main"标志的行

mysql - 如何统计MySQL中的URL域?

sqlite - SQLite中下面的sql的替代项是什么?

sql-server - 如何在当前日期上添加天数?

reporting-services - 当前星期一和当前星期五的 SSRS 表达式

SQL 查询帮助 : Transforming Dates In A Non-Trivial Way