繁体   English   中英

MySQL 查询日期范围 - 查找常见时期

[英]MySQL query date range - find common periods

请接受我对缺乏尝试代码的歉意。

我无法解决这个问题 - 甚至不知道它是否可行!

我有一张桌子,里面摆满了“约会时段”,个人可以预订。

时隙表如下所示:

ID | Price | Available_from | Available_ to    
------------------------------------
 1 | 20.00 | 2017-10-01 | 2018-01-01
 2 | 20.00 | 2017-11-01 | 2017-12-07
 3 | 20.00 | 2017-10-31 | 2018-01-31
 4 | 20.00 | 2017-10-22 | 2017-11-21    
------------------------------------

在这些行中,有一个共同的日期范围,其中所有四个结果都可用,2017-11-01 > 2017-11-21

我想查询我的数据库,看看是否 1) 每个结果都有一个共同的范围,2) 如果有,获取日期范围。

急切求助!

谢谢

我认为这会起作用:

SELECT  MAX(Available_from) as MatchFrom, 
        MIN(Available_to) as MatchTo
FROM Temporary.test
WHERE 
  (SELECT MAX(Available_from) FROM Temporary.test)
  <=(SELECT MIN(Available_to) FROM Temporary.test)

如果没有重叠范围,它将返回 NULL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM