【发布时间】:2012-12-11 20:37:08
【问题描述】:
我有一个表有两个字段 dt(DateTime) 和 isblocked(Bit)
我一直在尝试做的是找到两个日期/时间之间的时间跨度,其中有 45 分钟连续空闲 - 基于开始日期/时间。
例如:根据上表,使用 2012-12-11 13:30:00' 作为我的开始日期。 我需要这样的值:
2012-12-11 15:30:00
2012-12-11 16:45:00
我尝试了一些最小和最大查询,例如:
SELECT MIN(dt), isbooked
FROM booking
WHERE dt >= '2012-12-11 13:30:00' AND isbooked = 1
GROUP BY dt
LIMIT 1;
但我似乎无法将正确的结构组合在一起。如果需要更多信息,请告诉我。
【问题讨论】:
-
您如何知道预订的时长?是否只是约定每次为 15 分钟,每次预订是否“有效”直到下一次开始,还是有另一列指示预订的持续时间?
-
您能否以复制粘贴友好的格式发布示例数据?
-
嗨,马特,感谢您抽出宝贵时间阅读我的问题,每次预订时间可能是 30 分钟,或者每隔 30 或 45 分钟间隔一次,这就是为什么我将其设置为 15 分钟。