该表用于存储会话(事件):
CREATE TABLE session (
id int(11) NOT NULL AUTO_INCREMENT
, start_date date
, end_date date
);
INSERT INTO session
(start_date, end_date)
VALUES
("2010-01-01", "2010-01-10")
, ("2010-01-20", "2010-01-30")
, ("2010-02-01", "2010-02-15")
;
我们不想在范围之间产生冲突。
假设我们需要在 2010-01-05 至 2010-01-25之间 插入一个新会话。
我们想知道有冲突的会话。
这是我的查询:
SELECT *
FROM session
WHERE "2010-01-05" BETWEEN start_date AND end_date
OR "2010-01-25" BETWEEN start_date AND end_date
OR "2010-01-05" >= start_date AND "2010-01-25" <= end_date
;
结果如下:
+----+------------+------------+
| id | start_date | end_date |
+----+------------+------------+
| 1 | 2010-01-01 | 2010-01-10 |
| 2 | 2010-01-20 | 2010-01-30 |
+----+------------+------------+
有没有更好的方法来做到这一点?
小提琴
我曾经用日历应用程序进行过这样的查询。我想我使用了这样的东西:
... WHERE new_start < existing_end
AND new_end > existing_start;
更新 这肯定应该工作((ns,ne,es,ee)=(new_start,new_end,existing_start,existing_end)):
这是一个小提琴
问题内容: 我有一个看起来像这样的数据库表: 写入此日志时,它包含日志记录和unix时间戳。我需要的是获取每周报告,以了解每周有多少日志记录。这是我写的查询: 这给出了这样的结果: 伟大的!但是我想看到的是一个日期范围,如,所以我的结果集如下所示: 有什么办法吗? 问题答案: 使用以获得合适的日期一样,然后用得到你需要的格式。
问题内容: 我需要检查数据库中是否还有两个日期和另外两个日期。 我的数据库看起来像这样 在我的查询中,我指定范围:开始日期和结束日期让我们对其进行如下分配: 上面应该归还我所有的记录,因为所有的时间都超过了时间跨度。 但是我无法使查询工作:/ 我已经尝试了以下查询,但是没有运气: 这将返回两个结果: 1和3 我究竟做错了什么? 问题答案: 我相信以下条件会匹配所有可能的重叠情况。 除非您声明了非逻
问题内容: 我有一个日期变量:如果所说的日期在TODAY的3天内,我想返回一个布尔值。我不太确定如何在Python中构造它。我只处理日期,不处理日期时间。 我的工作示例是“宽限期”。一个用户登录到我的网站,如果宽限期在今天的3天之内,则该用户将省略其他脚本等。 我知道您可以在Python的日期模块中做一些花哨/复杂的事情,但我不确定在哪里看。 问题答案: 在Python中检查范围,您可以使用:
问题内容: 我试图找到一种基于特定列(id)在数据框中查找重叠数据范围(每行提供的开始/结束日期)的更有效方法。 数据框在“来自”列上排序 我认为有一种方法可以像我一样避免“双重”应用功能… 我使用“应用”功能在所有组上循环,并且在每个组中,每行使用“应用”: 问题答案: 您可以移动列并直接减去日期时间。 分组时应用它可能看起来像 演示版
我的Java外汇应用程序处理工作时间。我在两个日期字段中有工作开始和结束时间。我成功地计算了两个日期之间的差异时间;但是现在我如何检查结果是在晚上还是白天的范围内???一天从6点开始,到22点结束。例如,有人在凌晨3点到晚上11点之间工作。下面是我如何计算总工作小时数的。 我们有可以工作到晚上10点以上的工人,工资也不一样。如果他们在晚上10点以后工作,他们将获得特殊报酬。我们在工作结束时付款。他
问题内容: 我在MySQL中有一张表,该表显示了我每天记录的小时数。我正在尝试建立一个视图,该视图将允许我按块/天范围快速将数据分组。最简单的情况是每月一次,这并不难。我可以将日期选择为“%y-%m”,然后按该列分组。 前任: 如果我按月分组,那很好。但是我的问题是,我需要从每月的13号到下个月的12号进行分组(例如:7月13日至8月12日,8月13日至9月12日,等等)。 有没有一种简单的方法可